Forum
 
Le logiciel VIFOP (Variational Initialization and FOrcing Platform) est un outil générique original d'imbrication de modèles océaniques.

VIFOP permet l'imbrication de modèles océaniques régionaux et côtiers dans des modèles de circulation générale.

Notes
Produits
Nous contacter

Evénements SIROCCO

Mars 2012 :

Réunion des utilisateurs & Ateliers de formation

 
FAQ
1. GENERALITIES
1.1. IS VIFOP USED IN OTHER AREAS THAN MEDITERRANEAN SEA ?
1.2. HOW DO YOU OBTAIN THE OPTIMISED BOUNDARY CONDITIONS IN TIME?
1.3. IS VIFOP USEFUL WHEN THE RESOLUTION OF THE TWO MODELS ARE VERY CLOSE ?
1.4. WHICH KIND OF BATHYMETRIC DIFFERENCES BETWEEN THE LOW AND HIGH RESOLUTION MODELS CAN BE HANDLED BY VIFOP ?
1.5. WHY DO WE USE WIND FORCING AS TUNING PARAMETERS ?
1.6. DOES VIFOP REQUIRE PARTICULAR FUNCTIONALITIES OF MATLAB SOFTWARE ?
1.7. WHAT DOES BACKGROUND MEAN?
1.8. WHAT DOES ANALYSIS MEAN?
2. INSTALLATION
2.1. MORE DETAILS ON THE SET UP VARIABLES, ESPECIALLY MAKE COMMAND.
2.2. HOW CAN I KNOW WHAT SHELL I AM RUNNING?
2.3. HOW INITIALIZE THE MAKE VARIABLE IN BASH?
2.4. I CREATED A LOCAL1 DIRECTORY, AND I DONT MANAGE TO INSTALL VIFOP IN THIS DIRECTORY EVEN THOUGH I ANSWER LOCAL1 TO THE QUESTION WHERE DO YOU WANT TO INSTALL VIFOP SOFTWARE ? WHY ?
3. COMPILATION
3.1. WHY DOES THE COMPILATION FAIL WHEN I MODIFIED THE SCRIPT_COMPIL IN THE LOCAL DIRECTORY?
3.2. WE'RE TRYING TO INSTALL VIFOP ON OUR SGI 3200. WE'VE DONE SEVERAL TRIALS, BUT WE'VE ALWAYS INSTALLATION ERRORS AND WE DON'T MANAGE TO COMPILE LIBRARIES IN USING OUR PMAKE.
3.3. IN MAKE.OUT, THE PROBLEM IS THE CALL OF CPP COMMAND (COMMAND NOT FOUND). IN OUR MACHINE THERE ARE THE FILES: /LIB/CPP ; /USR/CPU/SYSGEN/ROOT/USR/LIB32/CMPLRS/CPP; /USR/LIB/CPP -> /LIB/CPP; /USR/LIB32/CMPLRS/CPP. IS IT NEEDED TO INSTALL THE CPP PACKAGE?
4. RUNNING
4.1. WHAT IS THE ROLE OF THE PREP_PARAMETER OR NO_PREP_PARAMETER ARGUMENT ?
4.2. VIFOP FAILS IN EXECUTION, THE FOLLOWING MESSAGE APPEARS : I/O PROBLEM END OF FILE ON UNIT 40. WHY ?
5. INTERPOLATION
5.1. WHEN I HAVE A LR GRID OF 6KM RESOLUTION AND A HR GRID OF 3 KM RESOLUTION, WHAT IS RECOMMENDED FOR RGAUSS VALUE ? FOR THE BUBBLE INFLUENCE RADIUS?
5.2. WHICH IS THE PHYSICAL CRITERION TO FIX THE BUBBLE RADIUS VALUE?
5.3. I WANT TO INTERPOLATE A LR VARIABLE ON AN OTHER VARIABLE IN THE HR FIELD. HOW CAN I DO THAT ?
5.4. CAN WE USE DIRECTLY THE LR-BAROTROPIC FUNCTION?
5.5. I RAN VIFOP AND GENERATED A RESTART FILE THEN I CHANGED THE NUMBER OR TYPE OF VARIABLES IN THE NAMELIST. CAN I USE THE RESTART FILE NOW ?
5.6. 2D VARIABLE (SEA SURF ELEV) IS NOT CORRECTLY INTERPOLATED (IT'S EVERYWHERE = 0) AND THE 3D VARIABLE (TEM) IS INTERPOLATED, BUT IT IS ALMOST CONSTANT ON SURFACE AND LOOKS OVERSMOOTHED IN GENERAL, WITH RESPECT TO THE LR FIELD. WHAT'S GOING ON?
6. EXTRAPOLATION
6.1. WHY IS THE NAMELIST RELATED TO EXTRAPOLATION NAMED NAMELIST. TRA ?
6.2. WHEN I TUNE THE NMPROF_PRF PARAMETER IN THE NAMELIST NAMELIST.TRA, SOMETIMES THE FOLLOWING MESSAGE APPEARS : NMVELPROF_PRF TOO SMALL: RECOMPILE. WHY ?
6.3. I HAVE EXTRAPOLATED 4 3D VARIABLES. 6 HR 3D VARIABLES ARE PRESENT IN THE PLOTS.OUT FILE. WHY ?
7. OPTIMIZATION
7.1. HOW CAN WE EVALUATE THE IMPACT OF THE OPTIMIZATION PROCEDURE ON OUR RESULTS?

8. OUTPUTS
8.1. IN SAVE_HRFIELD.F, ARRAYS HAVE THE UNIQUE L INDEX. BUT I NEED TO WRITE SOMETHING LIKE ANYVAR2D (I, J). ANALOGOUS PROBLEM FOR 3D ARRAYS. HOW TO SOLVE THIS?

Top

 

1. GENERALITIES

1.1. Is VIFOP used in other areas than Mediterranean sea ?

Yes, VIFOP is now being used over the Bay of Biscay.

 

1.2. How do you obtain the optimised boundary conditions in time?

Time is not taken into account. Each new large scale fields used as boundary condition is interpolated and optimised individually. The boundary conditions can then be computed as linear time interpolation of the background or analysis fields.

 

1.3. Is VIFOP useful when the resolution of the two models are very close ?

If the resolution are so close the modelling itself is not very useful However, if on top of their even slight scale differences (hopefully a factor of 2), models have different physics (rigid lid free surface) VIFOP can be helpful to adjust the large scale fields to the high resolution model physics

 

1.4. Which kind of bathymetric differences between the low and high resolution models can be handled by VIFOP ?

VIFOP can handled any bathymetry differences based on its extrapolation modulus. The question would then rather be what the VIFOP solution really means over regions with large bathymetry differences: where no information is available, any optimal tool is necessarily a crude approximation.

 

1.5. Why do we use wind forcing as tuning parameters ?

Wind forcing are only used by the external mode (EXT) transport constrains (DUBDT and DVBDT). Up to the user to read them in the TGT_RDWIND subroutine in TGT.F.

 

1.6. Does VIFOP require particular functionalities of Matlab software ?

No, VIFOP has been developed based on MATLAB 6 but uses very classical commands. In any case, all the .m files can be found in the MATLAB directory and can be used directly in Matlab for testing.

 

1.7. What does background mean?

The background is the crude interpolation of the large field over the high resolution grid. It is also known as the a-priori solution.

 

1.8. What does analysis mean?

The analysis is the result of the optimisation of the constrains.

Top

2. INSTALLATION

2.1. More details on the set up variables, especially make command.

See manual. As far as the make command is concerned, see UNIX manual.

 

2.2. How can I know what shell I am running?

Address the echo $SHELL command, it will answer the path to the shell.

 

2.3. How initialize the MAKE variable in bash?

The bash and ksh shell are very similar and sometimes the same. Thus, to initialize the MAKE variable in bash: export MAKE=`which gmake`. Be careful, the quote used here is right oriented.

 

2.4. I created a LOCAL1 directory, and I dont manage to install VIFOP in this directory even though I answer LOCAL1 to the question where do you want to install VIFOP software ? Why ?

When the installation process is applied on an existing directory only the library recompilations are done. To create a new local directory, just copy an existing one or process the installation without creating the LOCAL directory before.

Top

3. COMPILATION


3.1. Why does the compilation fail when I modified the script_compil in the local directory?

The script_compil file must not be modified in the local directory, because when compiler name or options are changed the library required to be recompiled and the script_compil needs to be changed in the VERSION directory.

 

3.2. We're trying to install vifop on our SGI 3200. We've done several trials, but we've always installation errors and we don't manage to compile libraries in using our pmake.

You have to install gmake (GNU). You can find gmake for SGI on the GNU web site : http://freeware.sgi.com/index-by-alpha.html
gmake have to be installed by a system administrator.

3.3. In make.out, the problem is the call of cpp command (command not found). In our machine there are the files: /lib/cpp ; /usr/cpu/sysgen/root/usr/lib32/cmplrs/cpp; /usr/lib/cpp -> /lib/cpp; /usr/lib32/cmplrs/cpp. Is it needed to install the cpp package?

You have to go to the gmake site and download and install the gcc package (GNU gcc on a SGI) : http://freeware.sgi.com/index-by-alpha.html The installation have to be performed by your system administrator.

Top

4. RUNNING

4.1. What is the role of the prep_parameter or no_prep_parameter argument ?

The prep-parameter routines prepares the PARAMETER used in the Fortran 77 version. The user does not need to change all the PARAMETER corresponding to his implementation: the prep_parameter routines reads the information in the corresponding files and routines and generates the corresponding PARAMETERS.

 

4.2. VIFOP fails in execution, the following message appears : I/O problem end of file on unit 40. Why ?

There might be an incoherence between the content of the fields and the number of 2D and 3D variables declared in the namelist LR. Please, check these values in the namelist LR. When such problem happen, check the name of the file corresponding to the unit in the RUN_VAR_INIT script.

Top

5. INTERPOLATION

5.1. When I have a LR grid of 6km resolution and a HR grid of 3 km resolution, what is recommended for RGauss value ? for the bubble influence radius?

You have to make your own test Usually we start with a RGAUSS radius around 1.5 time the resolution of the LR-grid. Then, we carefully check the resulting background field and we adjust RGAUSS not to over-smooth the fields and not to add any unphysical length scales that would be associated to the interpolation The influence bubble is related to the number of LR-points associated to the interpolation of one HR-point: to start with, choose its value so that 5 to 10 points be concerned ...

 

5.2. Which is the physical criterion to fix the bubble radius value?

See previous question.

 

5.3. I want to interpolate a LR variable on an other variable in the HR field. How can I do that ?

You can choose the relation between variables in the NAMELIST_LR and NAMELIST_HR namelists.

 

5.4. Can we use directly the LR-barotropic function?

All the related pre- and post-treatments are ready to be used. The barotropic function can for instance be first interpolated over the HR-grid before transports are recomputed over this grid We however think the best solution remains the interpolation of the transports.

 

5.5. I ran VIFOP and generated a restart file then I changed the number or type of variables in the namelist. Can I use the restart file now ?

No, you have to re-run the interpolation as soon as you change the namelist file.

 

5.6. 2D variable (sea surf elev) is not correctly interpolated (it's everywhere = 0) and the 3D variable (tem) is interpolated, but it is almost constant on surface and looks oversmoothed in general, with respect to the LR field. What's going on?

It seems that your namelist.lr and namelist.hr files are not written the good way. There might be a mistake in identifying the variables to read, their type and the correspondance between the LR and HR variables. Take a look to your namelist.lr and hr files. Control the good consistency between the number of 2D (3D) variables which is NZ2D_LR (NZ3D_LR) and the number of lines associated to T2D_LR (T3D_LR). They must be equal. Do the same in namelist.hr. Also control the number of line of HR2LR_2D and HR2LR_3D, they have to be consistent with the number of 2D and 3D variables.
Example of interpolation of 1 2D variable of type 1 (SSE) and 3 3D variables of types 1, 2 and 3 respectively (T,U,V).
The NAMELIST.LR must be in that case :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This NAMELIST contains usefull definitions for LR variables.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1 FORMAT_LR ...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ASCII files
(FORMAT_LR = 1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1 NZV2D_LR Number of 2D variables (must be <= NMV2D_LR)
3 NZV3D_LR Number of 3D variables (must be <= NMV3D_LR)
1 T2D_LR Type of 2D variable 1
1 T3D_LR Type of 3D variable 1
2 Type of 3D variable 2
3 Type of 3D variable 3
0 NPSI_LR N of 2D LR variable for barotropic function.
1 NSSE_LR N of 2D LR variable for surface elevation anomaly.
2 NVBAR_LR(1) N of 2D LR variable for mean velocity component Um.
3 NVBAR_LR(2) N of 2D LR variable for mean velocity component Vm.
1 NTEM_LR N of 3D LR variable for temperature.
2 NSAL_LR N of 3D LR variable for salinity.
3 NVEL_LR(1) N of 3D LR variable for velocity component U.
4 NVEL_LR(2) N of 3D LR variable for velocity component V.
1 IFL_VEL Type of velocity: 1-> total, 2-> baroclinic.

The NAMELIST.HR must be in that case.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This NAMELIST contains informations about the hr variables%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1 FORMAT_HR Format of HR-grid files: 1: Ascii
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ASCII files
(FORMAT_HR = 1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1 NZV2D_HR Number of 2D variables to be interpolated
3 NZV3D_HR Number of 3D variables to be interpolated
1 T2D_HR Type of 2D variable 1
1 T3D_HR Type of 3D variable 1
2 Type of 3D variable 2
3 Type of 3D variable 3
0 NPSI_HR Rank of 2D HR variable for barotropic function.
1 NSSE_HR Rank of 2D HR variable for surface elevation anomaly.
2 NVBAR_HR(1) Rank of 2D HR variable for mean velocity component Um.
3 NVBAR_HR(2) Rank of 2D HR variable for mean velocity component Vm.
1 NTEM_HR Rank of 3D HR variable for temperature.
2 NSAL_HR Rank of 3D HR variable for salinity.
3 NVEL_HR(1) Rank of 3D HR variable for velocity component U.
4 NVEL_HR(2) Rank of 3D HR variable for velocity component V.
1 HR2LR_2D LR variable to be interpolated on HR variable 1
1 HR2LR_3D LR variable to be interpolated on HR variable 1
2 LR variable to be interpolated on HR variable 2
3 LR variable to be interpolated on HR variable 3

Top

6. EXTRAPOLATION

6.1. Why is the namelist related to extrapolation named namelist. tra ?

Namelist.tra for exTRApolation.

 

6.2. When I tune the NMPROF_PRF parameter in the namelist namelist.tra, sometimes the following message appears : NMVELPROF_PRF too small: recompile. Why ?

The number of points on the profile has to be higher than the maximum depth of the LR grid.

 

6.3. I have extrapolated 4 3D variables. 6 HR 3D variables are present in the plots.out file. Why ?

The extrapolation acts on the density profiles therefore density profile on each grid point is calculated from T and S and is added in the 3D HR variable array (V3D_HR) as the 5th variable. The 6th variable is the density anomaly field computed from the density minus a mean density profile. On the same way, the LR density field is also added as a fifth variable in the 3D LR variable array (V3D_LR).

Top

7. OPTIMIZATION

7.1. How can we evaluate the impact of the optimization procedure on our results?

See last Practical Work of the MFSTEP meeting.

Top

8. OUTPUTS

8.1. In save_hrfield.F, arrays have the unique L index. But i need to write something like ANYVAR2D (i, j). Analogous problem for 3D arrays. How to solve this?

If you want to save ANYVAR2D(i,j) instead of ANYVAR2D(L) you can use the array function L2I(L,IT) and L2J(L,IT) which allow you to transform the index L into its correspondant I,J indexes.

For that, you can do something like:

DO L=1,NZ2D_HR(T2D_HR(IV))
ANYVAR2D_ij(L2I_HR(L,IT),L2J_HR(L,IT))=V2D_HR(L,IV)
ENDDO

where
IV is the number of the 2D variable (typically 1 if you have only one)
IT is the type of the variable.
Note that you have the same correspondance between L and I,J for the LR grid with L2I_LR(L,IT) and L2J_LR(L,IT) the opposite correspondance is done : (I,J) to L (IJ2L_LR(i,j,IT) array function).
Concerning the 3D variables, the correspondance will be written:

L1=0
DO L=1,NZ2D_HR(T3D_HR(IV))
DO K=1, BEG_HR(L+1,T3D_HR(IV)) - BEG_HR(L,T3D_HR(IV))
L1=L1+1
ANYVAR3D ( L2I_HR (L, T3D_HR(IV)), L2J_HR(L, T3D_HR(IV)), K)
& = V3D_HR(L1, IV)
ENDDO
ENDDO

where
NZ2D_HR(T3D_HR(IV)) is the number of (i,j) sea grid points
T3D_HR(IV)) is the type of the IV variable
IV the number of the variable

Top

 

 

 

 

 

 

Nouveautés

  • Alternatives to the Robert-Asselin filter. Marsaleix et al., 2012 VIEW AT PUBLISHER
  • Three-dimensional modelling of wave-induced current from the surf zone to the inner shelf. Michaud et al., 2011 VIEW AT PUBLISHER
  • Signature of the coastal circulation variability in altimetric data in the southern Bay of Biscay during winter and fall 2004. Herbert et al., 2011 VIEW AT PUBLISHER
  • Functioning of the planktonic ecosystem of the Rhone River plume during spring and its impact on the carbon export: a field data and 3-D modelling combined approach. Auger et al., 2011 VIEW AT PUBLISHER
  • Dispersion in seawater of radionuclides emitted by the Fukushima nuclear plant MORE DETAILS

 

Liens

INSU

LA

LEGOS

OMP

POC

Pôle d'Océanographie Côtière - Observatoire Midi-Pyrénées - 14 Avenue Edouard Belin - 31400 Toulouse - France -