Changeset 7235
- Timestamp:
- 2016-11-16T11:40:55+01:00 (8 years ago)
- Location:
- branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN
- Files:
-
- 1 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/README
r7025 r7235 5 5 open ./TOOLS/SIREN/doc/html/index.html in your web browser 6 6 or 7 run ./TOOLS/SIREN/doc/latex/gmakeand open ./TOOLS/SIREN/doc/latex/refman.pdf7 run gmake in ./TOOLS/SIREN/doc/latex directory and open ./TOOLS/SIREN/doc/latex/refman.pdf -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/cfg/dummy.cfg
r6393 r7235 1 1 &namdum 2 cn_dumvar=" "2 cn_dumvar="orca_lon", "orca_lat", "time_instant", "time_centered" 3 3 cn_dumdim="" 4 4 cn_dumatt="history" -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/create_bathy.f90
r7153 r7235 46 46 !> - cn_varcfg : variable configuration file 47 47 !> (see ./SIREN/cfg/variable.cfg) 48 !> - cn_dimcfg : dimension configuration file. define dimension allowed to49 !> be used(see ./SIREN/cfg/dimension.cfg).48 !> - cn_dimcfg : dimension configuration file. defines dimension allowed 49 !> (see ./SIREN/cfg/dimension.cfg). 50 50 !> - cn_dumcfg : useless (dummy) configuration file, for useless 51 51 !> dimension or variable (see ./SIREN/cfg/dummy.cfg). -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/create_boundary.F90
r7153 r7235 52 52 !> - cn_varcfg : variable configuration file 53 53 !> (see ./SIREN/cfg/variable.cfg) 54 !> - cn_dimcfg : dimension configuration file. define dimension allowed to55 !> be used(see ./SIREN/cfg/dimension.cfg).54 !> - cn_dimcfg : dimension configuration file. define dimensions allowed 55 !> (see ./SIREN/cfg/dimension.cfg). 56 56 !> - cn_dumcfg : useless (dummy) configuration file, for useless 57 57 !> dimension or variable (see ./SIREN/cfg/dummy.cfg). -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/create_coord.f90
r7153 r7235 44 44 !> - cn_varcfg : variable configuration file 45 45 !> (see ./SIREN/cfg/variable.cfg) 46 !> - cn_dimcfg : dimension configuration file. define dimension allowed to47 !> be used(see ./SIREN/cfg/dimension.cfg).46 !> - cn_dimcfg : dimension configuration file. define dimensions allowed 47 !> (see ./SIREN/cfg/dimension.cfg). 48 48 !> - cn_dumcfg : useless (dummy) configuration file, for useless 49 49 !> dimension or variable (see ./SIREN/cfg/dummy.cfg). -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/create_meshmask.f90
r7233 r7235 46 46 !> - partial step namelist (namzps) 47 47 !> - sigma or hybrid namelist (namsco) 48 ! - cross land advection namelist (namcla)49 48 !> - lateral boundary condition namelist (namlbc) 50 49 !> - wetting and dryong namelist (namwd) 51 50 !> - grid namelist (namgrd) 52 ! - zoom namelist (namzoom)53 51 !> - output namelist (namout) 54 52 !> … … 61 59 !> * _config namelist (namcfg)_:<br/> 62 60 !> - cn_varcfg : variable configuration file 63 !> (see ./SIREN/cfg/variable.cfg) 61 !> (see ./SIREN/cfg/variable.cfg). 62 !> - cn_dimcfg : dimension configuration file. define dimensions allowed 63 !> (see ./SIREN/cfg/dimension.cfg). 64 64 !> - cn_dumcfg : useless (dummy) configuration file, for useless 65 65 !> dimension or variable (see ./SIREN/cfg/dummy.cfg). … … 142 142 !> - dn_zb_b : Offset for Zb 143 143 !> 144 ! * _cross land advection namelist (namcla)_:<br/>145 ! - in_cla : =1 cross land advection for exchanges through some straits (only for ORCA2)146 !147 144 !> * _lateral boundary condition namelist (namlbc)_:<br/> 148 145 !> - rn_shlat : lateral boundary conditions at the coast (modify fmask) … … 160 157 !> 161 158 !> * _grid namelist (namgrd)_:<br/> 162 ! - cn_cfg : name of the configuration163 159 !> - in_cfg : inverse resolution of the configuration (1/4° => 4) 164 160 !> - ln_bench : GYRE (in_mshhgr = 5 ) used as Benchmark.<br/> 165 161 !> => forced the resolution to be about 100 km 166 ! - ln_zoom : use zoom (namzoom)167 162 !> - ln_c1d : use configuration 1D 168 163 !> - ln_e3_dep : vertical scale factors =T: e3.=dk[depth] =F: old definition 169 !170 ! * _zoom namelist (namzoom)_:<br/>171 ! - cn_cfz : name of the zoom of configuration172 ! - in_izoom : left bottom i-indices of the zoom in data domain indices173 ! - in_jzoom : left bottom j-indices of the zoom in data domain indices174 ! - ln_zoom_s : South zoom type flag175 ! - ln_zoom_e : East zoom type flag176 ! - ln_zoom_w : West zoom type flag177 ! - ln_zoom_n : North zoom type flag178 !179 164 !> * _output namelist (namout)_:<br/> 180 165 !> - cn_domcfg : output file name … … 185 170 !> 186 171 !> @note 187 !> if in_msh == 0 : write '<b>domain_cfg.nc</b>' file 188 !> MOD(in_msh, 3) = 1 : '<b>mesh_mask.nc</b>' file 189 !> = 2 : '<b>mesh.nc</b>' and '<b>mask.nc</b>' files 190 !> = 0 : '<b>mesh_hgr.nc</b>', '<b>mesh_zgr.nc</b>' and '<b>mask.nc</b>' files 191 !> 172 !> - if in_msh = 0 : write '**domain_cfg.nc**' file. 173 !> - if MOD(in_msh, 3) = 1 : write '<b>mesh_mask.nc</b>' file. 174 !> - if MOD(in_msh, 3) = 2 : write '<b>mesh.nc</b>' and '<b>mask.nc</b>' files. 175 !> - if MOD(in_msh, 3) = 0 : write '<b>mesh_hgr.nc</b>', '<b>mesh_zgr.nc</b>' and '<b>mask.nc</b>' files.<br/> 192 176 !> For huge size domain, use option 2 or 3 depending on your vertical coordinate. 193 !> 194 !> if in_msh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 195 !> if 3 < in_msh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays 177 !> - if in_msh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 178 !> - if 3 < in_msh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays 196 179 !> corresponding to the depth of the bottom t- and w-points 197 !> if 6 < in_msh <= 9: write 2D arrays corresponding to the depth and the180 !> - if 6 < in_msh <= 9: write 2D arrays corresponding to the depth and the 198 181 !> thickness (e3[tw]_ps) of the bottom points 199 182 !> … … 321 304 322 305 ! namlbc 323 REAL(sp) :: rn_shlat = -100. !2.306 REAL(sp) :: rn_shlat = 2. 324 307 325 308 ! namout … … 1277 1260 CONTAINS 1278 1261 !------------------------------------------------------------------- 1279 !> @brief This subroutine compute land/ocean mask arrays at tracer points, hori-1280 !> zontal velocity points (u & v), vorticity points (f) and baro-1281 !> tropic stream function points (b).1262 !> @brief This subroutine compute land/ocean mask arrays at tracer points, 1263 !> horizontal velocity points (u & v), vorticity points (f) and 1264 !> barotropic stream function points (b). 1282 1265 !> 1283 1266 !> @details 1284 1267 !> 1285 !> ** Method : The ocean/land mask is computed from the basin bathy- 1286 !> metry in level (mbathy) which is defined or read in dommba. 1287 !> mbathy equals 0 over continental T-point 1288 !> and the number of ocean level over the ocean. 1268 !> ** Method : The ocean/land mask is computed from the basin bathymetry in level (mbathy) which is defined or read in dommba. 1269 !> mbathy equals 0 over continental T-point and the number of ocean level over the ocean. 1289 1270 !> 1290 1271 !> At a given position (ji,jj,jk) the ocean/land mask is given by: 1291 !> t-point : 0. IF mbathy( ji ,jj) =< 0 1292 !> 1. IF mbathy( ji ,jj) >= jk 1293 !> u-point : 0. IF mbathy( ji ,jj) or mbathy(ji+1, jj ) =< 0 1294 !> 1. IF mbathy( ji ,jj) and mbathy(ji+1, jj ) >= jk. 1295 !> v-point : 0. IF mbathy( ji ,jj) or mbathy( ji ,jj+1) =< 0 1296 !> 1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) >= jk. 1297 !> f-point : 0. IF mbathy( ji ,jj) or mbathy( ji ,jj+1) 1298 !> or mbathy(ji+1,jj) or mbathy(ji+1,jj+1) =< 0 1299 !> 1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) 1300 !> and mbathy(ji+1,jj) and mbathy(ji+1,jj+1) >= jk. 1301 !> b-point : the same definition as for f-point of the first ocean 1272 !> - t-point : 1273 !> - 0. IF mbathy( ji ,jj) =< 0 1274 !> - 1. IF mbathy( ji ,jj) >= jk 1275 !> - u-point : 1276 !> - 0. IF mbathy( ji ,jj) or mbathy(ji+1, jj ) =< 0 1277 !> - 1. IF mbathy( ji ,jj) and mbathy(ji+1, jj ) >= jk. 1278 !> - v-point : 1279 !> - 0. IF mbathy( ji ,jj) or mbathy( ji ,jj+1) =< 0 1280 !> - 1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) >= jk. 1281 !> - f-point : 1282 !> - 0. IF mbathy( ji ,jj) or mbathy( ji ,jj+1) or mbathy(ji+1,jj) or mbathy(ji+1,jj+1) =< 0 1283 !> - 1. IF mbathy( ji ,jj) and mbathy( ji ,jj+1) and mbathy(ji+1,jj) and mbathy(ji+1,jj+1) >= jk. 1284 !> - b-point : the same definition as for f-point of the first ocean 1302 1285 !> level (surface level) but with 0 along coastlines. 1303 !> tmask_i : interior ocean mask at t-point, i.e. excluding duplicated1286 !> - tmask_i : interior ocean mask at t-point, i.e. excluding duplicated 1304 1287 !> rows/lines due to cyclic or North Fold boundaries as well 1305 1288 !> as MPP halos. 1306 1289 !> 1307 !> @WARNINGdo not set the lateral friction through the value of fmask along1290 !> @warning do not set the lateral friction through the value of fmask along 1308 1291 !> the coast and topography. 1309 1292 !> 1310 !> N.B.If nperio not equal to 0, the land/ocean mask arrays1293 !> @note If nperio not equal to 0, the land/ocean mask arrays 1311 1294 !> are defined with the proper value at lateral domain boundaries, 1312 1295 !> but bmask. indeed, bmask defined the domain over which the … … 1322 1305 !> - bmask is set to 0 on the open boundaries. 1323 1306 !> 1324 !> ** Action : tmask : land/ocean mask at t-point (=0. or 1.) 1325 !> umask : land/ocean mask at u-point (=0. or 1.) 1326 !> vmask : land/ocean mask at v-point (=0. or 1.) 1327 !> fmask : land/ocean mask at f-point (=0. or 1.) 1328 !> bmask : land/ocean mask at barotropic stream 1329 !> function point (=0. or 1.) and set to 0 along lateral boundaries 1330 !> tmask_i : interior ocean mask 1307 !> ** Action : 1308 !> - tmask : land/ocean mask at t-point (=0. or 1.) 1309 !> - umask : land/ocean mask at u-point (=0. or 1.) 1310 !> - vmask : land/ocean mask at v-point (=0. or 1.) 1311 !> - fmask : land/ocean mask at f-point (=0. or 1.) 1312 !> - bmask : land/ocean mask at barotropic stream 1313 !> function point (=0. or 1.) and set to 0 along lateral boundaries 1314 !> - tmask_i : interior ocean mask 1331 1315 !> 1332 1316 !> @author J.Paul -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/create_restart.f90
r7153 r7235 48 48 !> - cn_varcfg : variable configuration file 49 49 !> (see ./SIREN/cfg/variable.cfg) 50 !> - cn_dimcfg : dimension configuration file. define dimension allowed to51 !> be used(see ./SIREN/cfg/dimension.cfg).50 !> - cn_dimcfg : dimension configuration file. define dimensions allowed 51 !> (see ./SIREN/cfg/dimension.cfg). 52 52 !> - cn_dumcfg : useless (dummy) configuration file, for useless 53 53 !> dimension or variable (see ./SIREN/cfg/dummy.cfg). -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/docsrc/2_quickstart.md
r7025 r7235 16 16 This break may cause inconsistency between forcing fields at boundary and regional fields. 17 17 </li> 18 <li>create_meshmask.f90 to create meshmask file(s) which contain(s) all the ocean domain informations.</li>18 <li>create_meshmask.f90 to create meshmask or domain_cfg file(s) which contain(s) all the ocean domain informations.</li> 19 19 <li>create_restart.f90 to create initial state file from coarse grid restart 20 20 or standard outputs. … … 36 36 Here after we briefly describe how to use each programs, 37 37 and so how to create your own regional configuration. 38 @note As demonstrator for a first start a set of GLORYS files (global reanalysis on *ORCA025* grid), as well as examples of namelists are available [here](https://cloud.mercator-ocean.fr/public.php?service=files&t= 877fb1b6e4f589340fc0df1ea6a53228).38 @note As demonstrator for a first start a set of GLORYS files (global reanalysis on *ORCA025* grid), as well as examples of namelists are available [here](https://cloud.mercator-ocean.fr/public.php?service=files&t=f2a19864f95f1944a51851479b627e2e). 39 39 40 40 <!-- ###################################################################### --> … … 60 60 &namcfg 61 61 cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg" 62 cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg" 62 63 / 63 64 … … 91 92 empty, as done here.<br/> This will create a log file named *create_coord.log* 92 93 93 The **namcfg** sub-namelist defines where found SIREN configuration file .<br/>94 Thisconfiguration file defines standard name, default interpolation method,94 The **namcfg** sub-namelist defines where found SIREN configuration files.<br/> 95 - The variable configuration file defines standard name, default interpolation method, 95 96 axis,... to be used for some known variables.<br/> 96 97 Obviously, you could add other variables to those already list, in this file. 97 98 @note You could find the generic version of *variable.cfg* in the directory *NEMOGCM/TOOLS/SIREN/cfg*. 98 - The dimension configuration file defines dimensions allowed. 99 100 @note You could find the generic version of those configuration files in the directory *NEMOGCM/TOOLS/SIREN/cfg*. 99 101 100 102 The **namcrs** sub-namelist set parameters of the wide 101 coordinates file, <br/>as path to find it, and NEMO periodicity of the wide grid.<br/>103 coordinates file, as path to find it, and NEMO periodicity of the wide grid.<br/> 102 104 103 105 @note the NEMO periodicity could be choose between 0 to 6: … … 219 221 &namcfg 220 222 cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg" 223 cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg" 221 224 / 222 225 … … 253 256 coordinates file.<br/> 254 257 @note in all SIREN namelist: <br/> 255 0referred to the coarse/wide grid.<br/>256 1referred to the fine grid.258 **0** referred to the coarse/wide grid.<br/> 259 **1** referred to the fine grid. 257 260 258 261 In the same way, the **namfin** sub-namelist set parameters of the fine 259 262 coordinates file.<br/> 260 263 @note in this namelist example, there is no need to set the variable *in_perio1* to define the NEMO 261 periodicity of the fine grid. <br/> Indeed, if this variable is not inform, SIREN tries to read it in the attributes of the file.<br/>262 So if you created the fine coordinates with SIREN, you do not have to264 periodicity of the fine grid. Indeed, if this variable is not inform, SIREN tries to read it 265 in the global attributes of the file. So if you created the fine coordinates with SIREN, you do not have to 263 266 fill it. In other case, you should add it to the namelist. 264 267 … … 300 303 # Merge bathymetry file # {#merge} 301 304 302 The Bathymetry you build differsfrom the wider one.<br/>305 The Bathymetry you build, may differ from the wider one.<br/> 303 306 To avoid issue with boundaries forcing fields, you should merge fine and coarse Bathymetry on boundaries.<br/> 304 307 SIREN allows you to do this.<br/> … … 316 319 &namcfg 317 320 cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg" 321 cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg" 318 322 / 319 323 … … 352 356 353 357 The **nambdy** sub-namelist defines the subdomain boundaries.<br/> 354 By default SIREN tries to create boundaries for each side. Boundary exist if there is at least one sea point on the second row of each side.<br/> 355 So you could let this namelist empty. 356 358 By default SIREN tries to create boundaries for each side. Boundary exist if there is at least one sea point on the second row of each side. So you could let this namelist empty. 357 359 @sa For more information about boundaries, see @ref boundary 358 360 … … 366 368 367 369 368 Depending on the vertical grid you choose to use, NEMO may not see the bathymetry as you defined it just before. To get the ocean domain informations as seen by NEMO, SIREN allows you to create the meshmask file(s) which contain(s) all those informations. 369 370 To create this new meshmask file(s), you have to run : 370 Depending on the vertical grid you choose to use, NEMO may not see the bathymetry exactly as you defined it just before. To get the ocean domain informations as seen by NEMO, SIREN allows you to create the meshmask file(s) which contain(s) all those informations.<br/> 371 Morevoer SIREN allows you to create the *domain_cfg* file which is the new input file for NEMO (release 3.7 and upper).<br/> 372 373 To create the meshmask file(s), you have to run : 371 374 ~~~~~~~~~~~~~~~~~~ 372 375 ./SIREN/create_meshmask.exe create_meshmask.nam … … 384 387 &namcfg 385 388 cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg" 389 cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg" 386 390 / 387 391 … … 427 431 / 428 432 429 &namcla430 /431 432 433 &namlbc 433 434 / … … 437 438 438 439 &namgrd 439 /440 441 &namzoom442 440 / 443 441 … … 454 452 Mainly SIREN need Bathymetry to create meshmask. 455 453 Here we also read coordinates directly on a file. 456 @note here again you could add the *in_perio* parameter if need be i.e. if your 457 Bathymetry was not created by SIREN.<br/> 458 @note By default SIREN suppress closed sea/lake from the ORCA domain. 454 @note 455 1. here again you could add the *in_perio* parameter if need be i.e. if your 456 Bathymetry was not created by SIREN. 457 2. by default SIREN suppress closed sea/lake from the ORCA domain. 458 459 459 460 460 The **namhgr** sub-namelist defines the horizontal grid. … … 470 470 The **namzgr** sub-namelist allows to choose the type of vertical grid (z-coordinate full steps, partial steps, sigma or hybrid coordinates) and the number of level. 471 471 472 The **namdmin** sub-namelist d fines the minimum ocean depth. It could be defines in meter (>0) or in number of level (<0).473 474 The **namzco** sub-namelist defines respectivelyparameters to compute z-coordinate vertical grid (**needed for all type of vertical grid**)472 The **namdmin** sub-namelist defines the minimum ocean depth. It could be defines in meter (>0) or in number of level (<0). 473 474 The **namzco** sub-namelist defines parameters to compute z-coordinate vertical grid (**needed for all type of vertical grid**) 475 475 <!-- By default, those parameters are defined the same way than in GLORYS (i.e. 75 vertical levels).<br/> --> 476 476 … … 479 479 The **namsco** sub-namelist defines extra parameters needed to define sigma or hybrid coordinates (not needed here). 480 480 481 The **namcla** sub-namelist defines cross land advection for exchanges through some straits only used for ORCA2 (see namgrd). 481 <!--The **namcla** sub-namelist defines cross land advection for exchanges through some straits only used for ORCA2 (see namgrd).--> 482 482 483 483 The **namlbc** sub-namelist defines lateral boundary conditions at the coast. It is needed to modify the fmask. … … 485 485 The **namwd** sub-namelist defines the wetting and drying parameters if activated (see namzgr sub-namelist) 486 486 487 The **namgrd** and **namzoom** sub-namelists define grid configuration. Those namelist only activated local correction.487 The **namgrd** sub-namelist allows to use configuration 1D or to choose vertical scale factors (e3.=dk or old definition). 488 488 489 489 Finally, this **namout** sub-namelist defines the number output file(s).<br/> 490 @note To create the domain_cfg file, you should put **in_msh=0**. 490 491 491 492 @sa For more information about how to create meshmask, see create_meshmask.f90 … … 498 499 time step). Or you could start from "partial" information about ocean state (Temperature and Salinity for example). 499 500 500 S irenallows you to create both of those initial state.<br/>501 SIREN allows you to create both of those initial state.<br/> 501 502 To create the initial state, you have to run:<br/> 502 503 ~~~~~~~~~~~~~~~~~~ … … 505 506 506 507 Here after is an example of namelist for *create_restart.exe*.<br/> 507 In this example, you create an initial state split on 81 "processors", and named restar _out.nc.<br/>508 In this example, you create an initial state split on 81 "processors", and named restart_out.nc.<br/> 508 509 The initial state is composed of temperature and salinity refined from an extraction of GLORYS fields. 509 510 ~~~~~~~~~~~~~~~~~~ … … 513 514 &namcfg 514 515 cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg" 516 cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg" 515 517 / 516 518 … … 612 614 &namcfg 613 615 cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg" 616 cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg" 614 617 / 615 618 -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/docsrc/5_changeLog.md
r7153 r7235 7 7 ## New Features 8 8 - create_meshmask.f90 program to create meshmask from coordinates and bathymetry files. 9 - create_meshmask.f90 allows to write domain_cfg file 9 - create_meshmask.f90 allows to write domain_cfg file. 10 10 - merge_bathy.f90: allow to choose the number of boundary point with coarse grid value. 11 11 - dimension.f90: dimension allowed read in configuration file. 12 - variable.f90: allow to add scalar value. 13 - create_meshmask.f90: choose vertical scale factors (e3.=dk[depth] or old definition). 12 14 ## Changes 13 15 - create_coord.f90: allow to define sub domain with coarse grid indices or coordinates. 14 16 - grid.f90:grid__get_closest_str: add function to get closest grid point using coarse grid coordinates strucutre. 15 - iom_cdf.f90:iom_cdf__get_info: define cdf4 as cdf 17 - iom_cdf.f90:iom_cdf__get_info: define cdf4 as cdf. 16 18 - variable.f90: add subroutine to clean global array of extra information, and define logical for variable to be used. 17 - create_coord.f90: dimension to be used select from configuration file 18 - create_bathy.f90: dimension to be used select from configuration file 19 - merge_bathy.f90: dimension to be used select from configuration file 20 - create_boundary.f90: dimension to be used select from configuration file 21 - create_restart.f90: dimension to be used select from configuration file 19 - create_coord.f90: dimension to be used select from configuration file. 20 - create_bathy.f90: dimension to be used select from configuration file. 21 - merge_bathy.f90: dimension to be used select from configuration file. 22 - create_boundary.f90: dimension to be used select from configuration file. 23 - create_restart.f90: dimension to be used select from configuration file. 22 24 ## Bug fixes 23 - boundary.f90:boundary_check: take into account that boundaries are compute on T point, but expressed on U,V point 24 - grid.f90:grid__get_closest_str: use max of zero and east-west overlap instead of east-west overlap 25 - boundary.f90:boundary_check: take into account that boundaries are compute on T point, but expressed on U,V point. 26 - grid.f90:grid__get_closest_str: use max of zero and east-west overlap instead of east-west overlap. 27 - mpp.f90: compare index to td_lay number of proc instead of td_mpp (bug fix) . 25 28 26 29 # Initial Release 2016-03-17 -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/docsrc/main.dox
r7025 r7235 14 14 - see create_bathy.f90 to create fine grid bathymetry 15 15 - see merge_bathy.f90 to merge fine grid bathymetry 16 - see create_meshmask.f90 to create mesh mask grid16 - see create_meshmask.f90 to create mesh mask or domain_cfg file. 17 17 - see create_restart.f90 to create initial state file, or other fields. 18 18 - see create_boundary.F90 to create boundary condition -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/grid.f90
r7153 r7235 1734 1734 1735 1735 IF( TRIM(td_var%c_stdname) == 'longitude' .OR. & 1736 & SCAN( TRIM(td_var%c_longname), 'longitude') == 0 )THEN1736 & SCAN( TRIM(td_var%c_longname), 'longitude') == 0 )THEN 1737 1737 WHERE( dl_value(:,:) > 180._dp .AND. & 1738 1738 & dl_value(:,:) /= td_var%d_fill ) -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/grid_hgr.f90
r7233 r7235 14 14 !> 15 15 !> ** Method : The geographical position of the model grid-points is 16 !> defined from analytical functions, fslam and fsphi, the deriva- 17 !> tives of which gives the horizontal scale factors e1,e2. 18 !> Defining two function fslam and fsphi and their derivatives in 19 !> the two horizontal directions (fse1 and fse2), the model grid- 20 !> point position and scale factors are given by: 21 !> t-point:<br/> 22 !> glamt(i,j) = fslam(i ,j ) e1t(i,j) = fse1(i ,j )<br/> 23 !> gphit(i,j) = fsphi(i ,j ) e2t(i,j) = fse2(i ,j )<br/> 24 !> u-point:<br/> 25 !> glamu(i,j) = fslam(i+1/2,j ) e1u(i,j) = fse1(i+1/2,j )<br/> 26 !> gphiu(i,j) = fsphi(i+1/2,j ) e2u(i,j) = fse2(i+1/2,j )<br/> 27 !> v-point:<br/> 28 !> glamv(i,j) = fslam(i ,j+1/2) e1v(i,j) = fse1(i ,j+1/2)<br/> 29 !> gphiv(i,j) = fsphi(i ,j+1/2) e2v(i,j) = fse2(i ,j+1/2)<br/> 30 !> f-point:<br/> 31 !> glamf(i,j) = fslam(i+1/2,j+1/2) e1f(i,j) = fse1(i+1/2,j+1/2)<br/> 32 !> gphif(i,j) = fsphi(i+1/2,j+1/2) e2f(i,j) = fse2(i+1/2,j+1/2)<br/> 33 !> Where fse1 and fse2 are defined by:<br/> 34 !> fse1(i,j) = ra * rad * SQRT( (cos(phi) di(fslam))**2 35 !> + di(fsphi) **2 )(i,j)<br/> 36 !> fse2(i,j) = ra * rad * SQRT( (cos(phi) dj(fslam))**2 37 !> + dj(fsphi) **2 )(i,j)<br/> 16 !> defined from analytical functions, fslam and fsphi, the derivatives of which gives the horizontal scale factors e1,e2. 17 !> Defining two function fslam and fsphi and their derivatives in the two horizontal directions (fse1 and fse2), 18 !> the model grid-point position and scale factors are given by: 19 !> - t-point: 20 !> - glamt(i,j) = fslam(i ,j ) e1t(i,j) = fse1(i ,j ) 21 !> - gphit(i,j) = fsphi(i ,j ) e2t(i,j) = fse2(i ,j ) 22 !> - u-point: 23 !> - glamu(i,j) = fslam(i+1/2,j ) e1u(i,j) = fse1(i+1/2,j ) 24 !> - gphiu(i,j) = fsphi(i+1/2,j ) e2u(i,j) = fse2(i+1/2,j ) 25 !> - v-point: 26 !> - glamv(i,j) = fslam(i ,j+1/2) e1v(i,j) = fse1(i ,j+1/2) 27 !> - gphiv(i,j) = fsphi(i ,j+1/2) e2v(i,j) = fse2(i ,j+1/2) 28 !> - f-point: 29 !> - glamf(i,j) = fslam(i+1/2,j+1/2) e1f(i,j) = fse1(i+1/2,j+1/2) 30 !> - gphif(i,j) = fsphi(i+1/2,j+1/2) e2f(i,j) = fse2(i+1/2,j+1/2) 38 31 !> 39 !> The coriolis factor is given at z-point by:<br/> 40 !> ff = 2.*omega*sin(gphif) (in s-1)<br/> 32 !> Where fse1 and fse2 are defined by: 33 !> - fse1(i,j) = ra * rad * SQRT( (cos(phi) di(fslam))**2 34 !> + di(fsphi) **2 )(i,j) 35 !> - fse2(i,j) = ra * rad * SQRT( (cos(phi) dj(fslam))**2 36 !> + dj(fsphi) **2 )(i,j) 37 !> 38 !> The coriolis factor is given at z-point by: 39 !> - ff = 2.*omega*sin(gphif) (in s-1)<br/> 41 40 !> 42 41 !> This routine is given as an example, it must be modified … … 46 45 !> second order accuracy schemes. 47 46 !> 48 !> N.B.If the domain is periodic, verify that scale factors are also47 !> @note If the domain is periodic, verify that scale factors are also 49 48 !> periodic, and the coriolis term again. 50 49 !> 51 !> ** Action : - define glamt, glamu, glamv, glamf: longitude of t-, 52 !> u-, v- and f-points (in degre) 53 !> - define gphit, gphiu, gphiv, gphit: latitude of t-, 54 !> u-, v- and f-points (in degre) 55 !> define e1t, e2t, e1u, e2u, e1v, e2v, e1f, e2f: horizontal 56 !> scale factors (in meters) at t-, u-, v-, and f-points. 57 !> define ff: coriolis factor at f-point 50 !> ** Action : 51 !> - define glamt, glamu, glamv, glamf: longitude of t-, u-, v- and f-points (in degre) 52 !> - define gphit, gphiu, gphiv, gphit: latitude of t-, u-, v- and f-points (in degre) 53 !> - define e1t, e2t, e1u, e2u, e1v, e2v, e1f, e2f: horizontal 54 !> - scale factors (in meters) at t-, u-, v-, and f-points. 55 !> - define ff: coriolis factor at f-point 58 56 !> 59 57 !> References : Marti, Madec and Delecluse, 1992, JGR -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/grid_zgr.f90
r7233 r7235 12 12 !> vertical scale factors. 13 13 !> 14 !> ** Method : - reference 1D vertical coordinate (gdep._1d, e3._1d)15 !> - read/set ocean depth and ocean levels (bathy, mbathy)16 !> - vertical coordinate (gdep., e3.) depending on the17 !> 18 !> 19 !> 20 !> 14 !> ** Method : 15 !> - reference 1D vertical coordinate (gdep._1d, e3._1d) 16 !> - read/set ocean depth and ocean levels (bathy, mbathy) 17 !> - vertical coordinate (gdep., e3.) depending on the coordinate chosen : 18 !> - ln_zco=T z-coordinate 19 !> - ln_zps=T z-coordinate with partial steps 20 !> - ln_zco=T s-coordinate 21 21 !> 22 22 !> ** Action : define gdep., e3., mbathy and bathy -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/merge_bathy.f90
r7153 r7235 51 51 !> - cn_varcfg : variable configuration file 52 52 !> (see ./SIREN/cfg/variable.cfg) 53 !> - cn_dimcfg : dimension configuration file. define dimension allowed to54 !> be used(see ./SIREN/cfg/dimension.cfg).53 !> - cn_dimcfg : dimension configuration file. define dimensions allowed 54 !> (see ./SIREN/cfg/dimension.cfg). 55 55 !> - cn_dumcfg : useless (dummy) configuration file, for useless 56 56 !> dimension or variable (see ./SIREN/cfg/dummy.cfg). -
branches/2016/dev_r6999_CONFIGMAN_1/NEMOGCM/TOOLS/SIREN/src/variable.f90
r7233 r7235 7243 7243 !> @brief 7244 7244 !> This subroutine read matrix value from character string in namelist 7245 !> and fill variable struc utre value.7245 !> and fill variable structure value. 7246 7246 !> 7247 7247 !> @details
Note: See TracChangeset
for help on using the changeset viewer.