Please wait...
×

Error

  • Re: Null space Monte Carlo with FePest?

    Dear Sara,

    Coincidentally, this was one of our topics last week in the FePEST Training course in Vancouver :-).

    Indeed, you could carry out the task of Null Space Monte Carlo with FePEST. However, we need few steps in the command line still.
    I could suggest the following workflow:

    1) Set-up your project in FePEST and include all the slaves definitions already. Notice that PEST documentation recommends to avoid regularization settings for the Null Space Monte Carlo.

    2) Go to Estimation - Open work folder in console window.

    3) Run PEST utilities named [b]RANDPAR[/b] and [b]PNULPAR[/b]. They are very easy to use, you could take a look on the PEST documentation about this. The results from this utilities will be a set of parameter files (*.PAR). The total number of files depends on the number of realizations indicated. RANDPAR creates random parameter distributions and PNULPAR sub-divides the random realizations in calibration space and null space. So what you get here is a set of "almost calibrated" parameters.

    4) Now the difficult task is to run each parameter realization. Since these PNULPAR-generated parameters are [i]"almost calibrated"[/i], you may need to one or two PEST iteration cycles.

    5) Sometimes even a more simplified way, it would be to run one single model run per realization. If this is the case, FePEST can help you directly from the graphical interface to launch all the mode runs together with BeoPEST. This is only possible if you use the new PEST version 13.2, which contains a special /f-switch. This PEST version is not still distributed with PEST Utilities package from our website, but you could look on the pest homepage website.

    If additional details are needed, I will try to post a most extensive description.

    Cheers,
    Carlos




  • Re: Implementation of local groundwater infiltration

    Dear Mandy,

    If you are using a material property to provide the infiltration, FEFLOW will take as temperature the reference value imposed in the Problem Settings.
    Instead, you could combine a Fluid-Flux BC for the flow part and Temperature BC for the heat part. In a confined aquifer, the Fluid-Flux BC is expressed in m2/d.

    Regards,

    Carlos
  • Re: Ttime-series and current expression boundary condition

    Dear all,

    Here I have couple of ideas/comments:

    @ Lucien,
    If the answer is not constraint, you would need to write a short plug-in to control the BCs depending on specific variables.

    @ Marc,
    - The Head BC should be always available during the model run. I think the answer is not an expression, you need an interpolation between two nodes with an assigned time-series. You can easily carry out this task by using the 1D Linear Interpolation interactive tool. You need to impose strategically time-series in important locations, and then interpolate in between.
    - The Mass BC could be assigned already at the beginning of the simulation. The mass BC should be active if there is inflow from the sea to the aquifer. Otherwise, the mass concentration at the boundary nodes is not anymore imposed and it is the computed. You can control this behavior easily by means of a constraint (e.g. minimum hydraulic head).
    - The most important point is not to forget the conversion from saltwater heads to equivalent freshwater heads. Such transformation is based on the density ratio in FEFLOW.

    Good luck!

    Carlos
  • Re: Add or remove servers / slaves during a pest run

    Hi Jarrah,

    Indeed, you can edit the slave set up during the PEST run. In the server you just need to go to the folder, where the slaves have been deployed. By default, they are placed on a temporal folder under \fepest_data\. You can find the temporal folder if you type %temp% in Windows Explorer.

    [u][b]Include new slaves in the FePEST parallel run:[/b][/u]
    - Make a copy of the slave folder. Typically they are named as "[color=red]FePEST ProjectName[/color] [b]@[/b] [color=purple]ServerName[/color] [b]~[/b] [color=green]SlaveNumber[/color]" (everything together).
    - Edit the folder name and increase the slave number.
    - Go inside the new created folder and execute file [color=red]run_slave.bat[/color].
    - A command window is opened and model starts running.

    [u][b]You can also attach new servers not described before FePEST run was initiated:[/b][/u]
    - Copy the slave folder from any server (or even from a local slave in the FePEST Master).
    - Edit batch file [color=red]run_model.bat[/color].
          a) Define (if needed) the location of the fepest62.exe (Typically C:\Program Files\WASY\FEFLOW 6.2\bin64).
          b) Define the location of the FPS file.

    - Edit batch file [color=red]run_slave.bat[/color].
          a) Define (if needed) PEST path. Typically "C:\Program Files\PEST Utilities\pest\"
          b) Define location of BeoPEST and PST file.
              "C:\Program Files\PEST Utilities\pest\beopest64.exe" "MyProjectName.pst"
          c) Define FePEST Master name (or IP address) and the port defined previously for connection (This was already set in the FPS file).
              /H MyIPnumber:MyPortNumber

    [u][b]Reduce the number of slaves in the FePEST parallel run:[/b][/u]
    - Go to the slave folder in the server.
    - Execute file [color=red]stop_pest.bat[/color].
    - A command window is opened and it will requires to confirm the action.

    Cheers,

    Carlos


  • Re: Correlation length?

    Dear Joachim,

    Indeed there are many changes in the FePEST version 6.2, especially the regularization settings and interpolation techniques (e.g. Kriging) are different. This is because [i][b]they need to be adapted to specific case studies[/b][/i]. For example, a "typical" misunderstanding is that variogram parameters are applicable for all the models and all parameter types. You may take a look on Geostatistical books to review the different methods for empirical variogram fitting, you will notice that these parameters depends a lot on sampling design, parameter types (conductivity, transmissivity, porosity, etc.). Therefore, FePEST cannot suggest values on which the modeller has the responsibility.

    You may take a look in the following settings in FePEST version 6.2:

    1) Kriging configuration (variogram type, range, nugget, etc.).

    2) Tikhonov regularization settings (Objective function, weight factor and weight adjustment). These options were not available in FePEST Beta version. Especially, objective function values can control strongly the balance between observation over-fitting and/or adequate (or geologically-realistic) parameter distributions.

    3) SVD regularization: Adjust number super parameters (Default value is zero).

    Regards,

    Carlos
  • Re: Ttime-series and current expression boundary condition

    Dear Lucien,

    What you need to use is a boundary condition constraint (BCC). These can swtich on/off the BC depending on certain criteria (e.g. min/max hydraulic head and min/max flow-rate). Constraints are applicable for flow, mass, heat and age problem classes in FEFLOW 6.2. You can also have time series of constraint.
    You may take a look in the Help System or in the White Papers Vol. I.

    Cheers,

    Carlos
  • Re: Correlation length?

    Dear Joachim,

    Please notice that FePEST 6.1 was a quasi beta version compared to FePEST 6.2, which is fully developed. I strongly recommend you to use 6.2 version.
    What exactly would you like to do? Could you be more especific in what kind of regularization setings you need to chance?

    Cheers,

    Carlos
  • Re: Ifm input stream

    Hi Debora and Adam,

    You can take all the advantage of the graphical interface of the IFM plug-in. Below a small example to create two input boxes. You can reach this by right-click on the name of attached plug-in and then choose [b]Edit [/b] option.

    [color=blue][i]static IfmPropExtInt aux= { 2, 50};

    IfmProperty props[] = {
    { "Param1", IfmPROP_DOUBLE, &par1, &DefaultParam1, "Write value of Parameter 1", &aux },
    { "Param2", IfmPROP_DOUBLE, &par2, &DefaultParam2, "Write value of Parameter 2", &aux },
    }

    IfmEditProperties (pDoc, "Properties of IFM Plugin", "My parameters: ", props, 2); // last number is amount of parameters.
    [/i][/color]

    The best place of the code is on [b]OnEditDocument[/b]. Don't forget to declare the default values (&DefaultParam1) and the variables for the parameter itself (&par1).

    More sophisticated manners are using fully Qt stuff (i.e. design your own *.ui file).

    Cheers,

    Carlos
  • Re: Syntax for prior information

    Dear Debora,

    I have in mind different possibilities to reach your goal:

    1) Define several parameter definitions with different parameter bounds. For example, you can assign bounds with a decrease in conductivity over depth.

    2) If the ratio is Kx/Kz is kept over the layer, you can provide several ratios which change over depth. Here you will need to use tied parameter when you create the definitions (e.g. Kz will be tied to Kx). The parameter is computed from the initial values assigned in the FEM file. FePEST will keep this ratio over the entire optimization.

    3) Use Prior Information. The syntax of Prior Information lines in FePEST follows exactly the PEST description (see PEST Manual, section 4.2.10). An example below:

    PIBL PIFAC * PARNAME + ... = PIVAL WEIGHT OBGNME

    where PIBL is a character variable of the Prior Information Definition, PIFAC is a factor which affects the parameter, PARNME is the parameter name, PIVAL is a real variable to define the right-side of the PI equation, WEIGHT is the weight assigned to the article of prior information in the parameter estimation process (e.g. inverse proportional to standard deviation), and OBGNME is the observation group to which the prior observation belongs.

    FePEST separates the different variables in different entry boxes for better visualization, you need just to define the equation part. Let's say you have conductivity values 100, 50, 25 and 5 decreasing over depth. In FePEST you can use PI equation to suggest that conductivity needs to decrease in depth during the optimization as follows:

    1.0 * log(Kxx_1) = 2.00
    1.0 * log(Kxx_2) = 1.70
    1.0 * log(Kxx_3) = 1.40
    1.0 * log(Kxx_4) = 0.70

    Notice that factor 1.0 is required. If the parameter is log-transformed, you need to indicate it in the equation.

  • Re: water table does not replicates the topography... and it should!

    Hi,

    Just few comments based on the previous discussion:

    1) Are you running a Richards-based model with a steady-state solution? If so, I would highly recommend to use the transient mode. It is very hard to solve the non-linearity of the Richards' Equation under a steady-state solution.

    2) It seems to me that model is solving fine. The fact that you see a "second" water table at the top, it reflects the typical wetting front propagation in an unsaturated medium. Ideally over the time, if recharge decreases, you may see the movement of this "second" phreatic level down to the regional water level. If the recharge is very large, eventually you will see that model becomes completely saturated after several iterations, therefore it will reach a topography-like phreatic surface.

    3) Material properties: Are you sure that such van Genuchten values correspond to the assigned conductivity? As indicated in item 2, it seems to me that water is moving very slow. A higher conductivity necessarily does mean fast water movement, if van Genuchten properties are not the adequate. So, please make double-check.

    4) You may try to decrease the non-linearity by means of using the Modified Van Genuchten relationship and assuming a linear form (i.e. what you named before as "sigma").