Changes between Version 25 and Version 26 of LMDZoGuOR
- Timestamp:
- 04/27/11 17:30:15 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
LMDZoGuOR
v25 v26 4 4 5 5 LMDZOR_v4 is the current version using LMDZ and ORCHIDEE. It is a configuration in phase with the coupled model IPSLCM5A. It can be used with LMDZ4 production version LMDZ4_AR5 or with one of the latest versions of LMDZ5/trunk. 6 Before running this model set up, choose between 2 mode : Interannual AMIP simulation or climatologic simulation. No default setup exists. Modifications done by the user in the lmdz.card or orchidee.card are often necessary to adapt to a specific simulation. Modifications in lmdz.driver or orchidee.driver are less often necessary.6 Before running this model set up, choose between 2 mode : Interannual AMIP simulation or climatological simulation. No default setup exists. Modifications done by the user in the lmdz.card or orchidee.card are often necessary to adapt to a specific simulation. Modifications in lmdz.driver or orchidee.driver are less often necessary. 7 7 ---- 8 8 = CREATE experience for creation of initial state and interpolating of boundary conditions = 9 This experience is used to create boundary condition and initial state condition for LMDZ using the executable ce0l.e or create_etat0_limit.e. The CREATE experience does not have a PARAM directory instead in CREATE/COMP/lmdz.card the parameter ''PARAM_DIR'' points to the onein experience LMDZOR. PARAM_DIR can be changed to use another directory if wanted.9 This experience is used to interpolate boundary conditions(limit.nc and climoz_LMDMZ.nc) and create initial state conditions (start.nc and startphy.nc) for LMDZ using the executable ce0l.e or create_etat0_limit.e. The CREATE experience does not contain a PARAM directory. Instead in CREATE/COMP/lmdz.card the parameter ''PARAM_DIR'' points to the directory in experience LMDZOR. PARAM_DIR can be changed to use another directory if wanted. 10 10 11 '''In the CREATE experience''', 2 cases for the boundary conditions are predefined : Creation using sea-surface temperature(SST) and sea-ice cover(SIC) from climatology AMIP files or from interannual AMIP files. According to the case you want, copy or link the .cards. For interannual AMIP : 11 2 cases for the boundary conditions are predefined : creation using sea-surface temperature(SST) and sea-ice cover(SIC) from climatology AMIP files or from interannual AMIP files. According to the case you want, copy or link the corresponding .cards. For climatology AMIP : 12 {{{ 13 ln -s config.card_Climat config.card; cd COMP; ln -s lmdz.card_Climat lmdz.card 14 }}} 15 or for interannual AMIP : 12 16 {{{ 13 17 ln -s config.card_Interannuel config.card; cd COMP; ln -s lmdz.card_Interannuel lmdz.card 14 18 }}} 15 19 16 or for climatology AMIP : 17 {{{ 18 ln -s config.card_Climat config.card; cd COMP; ln -s lmdz.card_Climat lmdz.card 19 }}} 20 == Boundary conditions using IPSL coupled model output == 20 21 21 == Boundary conditions using LMDZ model output == 22 Do following steps to create boundary conditions using output from a previous LMDZ run.[[BR]] 22 23 23 Do following steps to create boundary conditions using output from a previous LMDZ run :24 24 NB: it is not possible to use version LMDZ4_AR5 of ce0l. Use version LMDZ5/trunk revision 1508 or later. Once the boundary files limit.nc are created they can be used also with earlyer versions of LMDZ such as LMDZ4_AR5. 25 25 26 26 '''Step 1''' [[BR]] 27 Identify time series for the simulations you want and split them into yearly files. For the SST use the variable tsol_oce from LMDZ and for SIC use the variable pourc_sic. The variables should be at monthly time series format. For example for the coupled IPSLCM5A rcp4.5 simulation, at CCRT use files :27 Identify time series for the simulations you want and split them into yearly files. For the SST use the variable tsol_oce and for SIC use the variable pourc_sic. The variables should be at monthly time series format from LMDZ. For example for the coupled IPSLCM5A rcp4.5 simulation, at CCRT use the files : 28 28 {{{ 29 29 /dmnfs/cont003/p86denv/IGCM_OUT/IPSLCM5A/PROD/rcp45/v3.rcp45.1/ATM/Analyse/TS_MO/v3.rcp45.1_20060101_21251231_1M_tsol_oce.nc … … 32 32 Use cdo to split the time series into yearly files with 12 time steps in each file. For exemple : 33 33 {{{ 34 cdo splityear model_output_file_tsol_oce $WORKDIR/my_new_dir/v3.rcp45.1_tsol_oce_35 cdo splityear model_output_file_pourc_sic $WORKDIR/my_new_dir/v3.rcp45.1_pourc_sic_34 cdo splityear TS_MO_tsol_oce $WORKDIR/my_new_dir/v3.rcp45.1_tsol_oce_ 35 cdo splityear TS_MO_pourc_sic $WORKDIR/my_new_dir/v3.rcp45.1_pourc_sic_ 36 36 }}} 37 37 … … 53 53 }}} 54 54 55 Modify the period in config.card_Interannual. Don't forget to copy or link the lmdz.card_Interannal in lmdz.card and config.card_Interannual inconfig.card. Submit the experience.55 Modify the period in config.card_Interannual. Don't forget to copy or link the lmdz.card_Interannal into lmdz.card and config.card_Interannual into config.card. Submit the experience. 56 56 57 == Interpolating files for nudging ==58 Script to interpolate files for nudging (fr guidage) are stored in directory CREATE/SCRIPT. To interpolated ERA-Interim use the script interp_from_era.ksh. You must first modify the beginning of this script. To interpolated LMDZ model output files use the script interp_from_TS.ksh. Both of these scripts depends on the script era2gcm.ksh. These scripts tested at mercure and ulam.59 57 58 == Interpolation of nudge files == 59 The files that will be used for the nudging (''fr'' guidage) must be interpolated to the model grid before running the gcm. Scripts to do this are stored in directory CREATE/SCRIPT. To interpolate ERA-Interim use the script interp_from_era.ksh. You must first modify the beginning of this script. To interpolate LMDZ model output files use the script interp_from_TS.ksh. Both scripts depend on the script era2gcm.ksh. These script access the archive directory with a use in ferret. Therefore it is not possible to use them from vargas or brodie. These scripts are tested at mercure and ulam. Follow step 1 to 3 : 60 61 1) Create file grilles_gcm.nc[[BR]] 62 The file grilles_gcm.nc is created by default during the CREATE experience '''if''' you use revision 1508 of LMDZ5/trunk or later and revision 1333 or later of the configuration LMDZOR_v4. 63 The file grilles_gcm.nc contains the different grids used as target for the interpolation. The file is created with ce0l if the parameter grille_gcm_netcdf=T(default in CREATE). After a normal CREATE experience the file can be found in the archive directory IGCM_OUT/LMDZOR/ELXXXX/ATM/Output/Boundary/. If the grid contains a zoom it is important that the file grilles_gcm.nc is created at the same time as the other boundary conditions and initial state files, using the same .def parameter files describing the grid. 64 65 2) Modify and run the script interp_from_era.ksh from a machine that access the ERA files by use in ferret. Script tested at mercure and ulam. [[BR]] 66 67 3) Move interpolated files to archive directory.[[BR]] 60 68 ---- 61 69 … … 106 114 ---- 107 115 108 = Interpolation of nudge files =109 The files that will be used for the nudging must be interpolated to the model grid before running the gcm. This can be done either using a script get_era.x or using a patch in libIGCM, see below.110 111 == Interpolation using get_era.x ==112 Follow step 1 to 3.113 114 1) Create file grilles_gcm.nc[[BR]]115 LMDZ contains a program that creates a file netcdf containing the grid u and v. This program is located in file LMDZ5/libf/dyn3d/grilles_gcm_netcdf.F. Compile this program with the same resolution as the gcm. For example if using the LMDZOR_v4/Makefile, add in Makefile :116 117 {{{118 (cd ../../modeles/LMDZ; ./makelmdz_fcm -cpp ORCHIDEE_NOOPENMP -d $(RESOL_LMDZ) -arch $(FCM_ARCH) grilles_gcm_netcdf ; cp bin/grilles_gcm_netcdf_$(RESOL_LMDZ)_phylmd_seq.e ../../bin/grilles_gcm_netcdf.e ; )119 }}}120 121 For a regular grid no parameter files are needed, just execute the program. If you have a zoom, execute the program together with your parameter files (run.def, gcm.def).122 123 124 2) Modify and run get_era.x[[BR]]125 The script get_era.x is stored in LMDZOR_v4/CREATE/SCRIPT and it is used together with era2gcm.x and add_step.x. These scripts have to be adapted according to the machine and file locations.126 To extract only interpolation scripts :127 {{{128 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/CONFIG/LMDZOR/branches/LMDZOR_v4/CREATE/SCRIPT129 }}}130 Modifications :[[BR]]131 132 * in get_era.x set year and month to be interpolated. Set path to your grilles_gcm.nc file133 * in era2gcm.x set ANA_DIR to the path of ERAI files134 135 During execution of get_era.x the directory OUT_ERAI will be created in the running directory.136 137 3) Move interpolated files to archive directory[[BR]]138 139 140 == Interpolation using a patch in libIGCM ==141 Interpolation is done in the CREATE job at the same time as execution of create_etat0_limit for creation of boundary files limit.nc. Using lmdz.card_Interannuel and config.card_Interannuel is necessary to interpolate over several years. libIGCM tag v1_10 is requierd. [[BR]]142 143 To activate the patch modifications in CREATE/COMP/lmdz.card_Interannuel is needed. Add the files to interpolate in [!BoundaryFiles]/List and in [!OutputFiles]/List and add the paragraf [Nudge_Interp] in the end of lmdz.card. Here below is an exemple how to add u. In the same lmdz.card it is possible to add different files u,v,t,... using the same syntax :144 145 {{{146 [BoundaryFiles]147 List= (${R_INIT}/ATM/${config_UserChoices_TagName}/AMIP/amipbc_sst_360x180_${year}.nc, amipbc_sst_1x1.nc), \148 (${R_INIT}/ATM/${config_UserChoices_TagName}/AMIP/amipbc_sic_360x180_${year}.nc, amipbc_sic_1x1.nc), \149 (${R_INIT}/ATM/${config_UserChoices_TagName}/Ozone/HYBRIDE/v2.clim/tro3_${year}.new.nc, climoz.nc), \150 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}01.aphei.GLOBAL_075.nc, u_1_${year}.nc), \151 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}02.aphei.GLOBAL_075.nc, u_2_${year}.nc), \152 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}03.aphei.GLOBAL_075.nc, u_3_${year}.nc), \153 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}04.aphei.GLOBAL_075.nc, u_4_${year}.nc), \154 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}05.aphei.GLOBAL_075.nc, u_5_${year}.nc), \155 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}06.aphei.GLOBAL_075.nc, u_6_${year}.nc), \156 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}07.aphei.GLOBAL_075.nc, u_7_${year}.nc), \157 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}08.aphei.GLOBAL_075.nc, u_8_${year}.nc), \158 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}09.aphei.GLOBAL_075.nc, u_9_${year}.nc), \159 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}10.aphei.GLOBAL_075.nc, u_10_${year}.nc), \160 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}11.aphei.GLOBAL_075.nc, u_11_${year}.nc), \161 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year}/u.${year}12.aphei.GLOBAL_075.nc, u_12_${year}.nc), \162 (/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/${year_p1}/u.${year_p1}01.aphei.GLOBAL_075.nc, u_13_${year}.nc)163 164 ...165 166 [OutputFiles]167 List= ( limit.nc, ${R_OUT_ATM_O}/Boundary/${config_UserChoices_JobName}_${year}_limit.nc, NONE), \168 ( climoz_LMDZ.nc, ${R_OUT_ATM_O}/Boundary/${config_UserChoices_JobName}_${year}_climoz_LMDZ.nc, NONE), \169 ( start.nc, ${R_OUT_ATM_O}/Restart/${config_UserChoices_JobName}_${year}_start.nc, NONE), \170 ( startphy.nc, ${R_OUT_ATM_O}/Restart/${config_UserChoices_JobName}_${year}_startphy.nc, NONE), \171 ( u_1_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}01_u.nc, Post_Interp), \172 ( u_2_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}02_u.nc, NONE), \173 ( u_3_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}03_u.nc, NONE), \174 ( u_4_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}04_u.nc, NONE), \175 ( u_5_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}05_u.nc, NONE), \176 ( u_6_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}06_u.nc, NONE), \177 ( u_7_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}07_u.nc, NONE), \178 ( u_8_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}08_u.nc, NONE), \179 ( u_9_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}09_u.nc, NONE), \180 ( u_10_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}10_u.nc, NONE), \181 ( u_11_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}11_u.nc, NONE), \182 ( u_12_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}12_u.nc, NONE), \183 ( u_13_${year}.nc, ${R_OUT_ATM_O}/Nudgefiles/${config_UserChoices_JobName}_${year}13_u.nc, NONE)184 185 186 187 # This patch is applied to the first file but it will work on all files u01.nc - u13.nc188 [Post_Interp]189 Patches = (Patch_20101208_nudge_interp)190 GatherWithInternal = ()191 TimeSeriesVars2D = ()192 ChunckJob2D = NONE193 TimeSeriesVars3D = ()194 ChunckJob3D = NONE195 Seasonal=OFF196 197 }}}198 199 In config.card it is necessary to put :200 {{{201 RebuildFrequency=1Y202 }}}203 204 205 ----206 207 208 116 = Differentes experiences = 209 117 210 '''Différences actuelle entre LMDZOR et AMIP ''' :118 '''Différences actuelle entre LMDZOR et AMIP dans LMDZ4OR_v3''' : 211 119 212 120 || Fichier || LMDZOR || AMIP || Commentaires ||