- Timestamp:
- 2016-06-17T12:00:46+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r6667 r6717 20 20 !! dom_nam : read and contral domain namelists 21 21 !! dom_ctl : control print for the ocean domain 22 !! cfg_wri 22 !! cfg_write : create the "domain_cfg.nc" file containing all required configuration information 23 23 !!---------------------------------------------------------------------- 24 USE oce 25 USE dom_oce 26 USE sbc_oce 27 USE phycst 28 USE closea! closed seas29 USE domhgr 30 USE domzgr 31 USE dommsk 32 USE domwri 33 USE domvvl 34 USE c1d 35 USE dyncor_c1d 24 USE oce ! ocean variables 25 USE dom_oce ! domain: ocean 26 USE sbc_oce ! surface boundary condition: ocean 27 USE phycst ! physical constants 28 USE usrdef_closea ! closed seas 29 USE domhgr ! domain: set the horizontal mesh 30 USE domzgr ! domain: set the vertical mesh 31 USE dommsk ! domain: set the mask system 32 USE domwri ! domain: write the meshmask file 33 USE domvvl ! variable volume 34 USE c1d ! 1D vertical configuration 35 USE dyncor_c1d ! Coriolis term (c1d case) (cor_c1d routine) 36 36 ! 37 USE in_out_manager 38 USE iom 39 USE lbclnk 40 USE lib_mpp 41 USE wrk_nemo 42 USE timing 37 USE in_out_manager ! I/O manager 38 USE iom ! I/O library 39 USE lbclnk ! ocean lateral boundary condition (or mpp link) 40 USE lib_mpp ! distributed memory computing library 41 USE wrk_nemo ! Memory Allocation 42 USE timing ! Timing 43 43 44 44 IMPLICIT NONE … … 86 86 WRITE(numout,*) ' dimension of model' 87 87 WRITE(numout,*) ' Local domain Global domain Data domain ' 88 WRITE(numout,cform) ' ',' jpi : ', jpi, ' jpiglo : ', jpiglo , ' jpidta : ', jpidta89 WRITE(numout,cform) ' ',' jpj : ', jpj, ' jpjglo : ', jpjglo , ' jpjdta : ', jpjdta90 WRITE(numout,cform) ' ',' jpk : ', jpk, ' jpkglo : ', jpkglo , ' jpkdta : ', jpkdta88 WRITE(numout,cform) ' ',' jpi : ', jpi, ' jpiglo : ', jpiglo 89 WRITE(numout,cform) ' ',' jpj : ', jpj, ' jpjglo : ', jpjglo 90 WRITE(numout,cform) ' ',' jpk : ', jpk, ' jpkglo : ', jpkglo 91 91 WRITE(numout,cform) ' ' ,' jpij : ', jpij 92 92 WRITE(numout,*) ' mpp local domain info (mpp)' … … 100 100 ! 101 101 CALL dom_nam ! read namelist ( namrun, namdom ) 102 CALL dom_clo 102 CALL dom_clo( cp_cfg, jp_cfg ) ! Closed seas and lake 103 103 CALL dom_hgr ! Horizontal mesh 104 104 CALL dom_zgr( ik_top, ik_bot ) ! Vertical mesh and bathymetry 105 IF( nn_closea == 0 ) CALL clo_bat( ik_top, ik_bot ) !== remove closed seas or lakes ==! 105 106 CALL dom_msk( ik_top, ik_bot ) ! Masks 106 107 ! … … 171 172 ENDIF 172 173 ! 173 IF( ln_write_cfg ) CALL cfg_wri 174 IF( ln_write_cfg ) CALL cfg_write ! create the configuration file 174 175 ! 175 176 IF( nn_timing == 1 ) CALL timing_stop('dom_init') … … 405 406 406 407 407 SUBROUTINE cfg_wri 408 !!---------------------------------------------------------------------- 409 !! *** ROUTINE cfg_wri ***408 SUBROUTINE cfg_write 409 !!---------------------------------------------------------------------- 410 !! *** ROUTINE cfg_write *** 410 411 !! 411 !! ** Purpose : Create the NetCDF file(s) which contain(s) all the 412 !! ocean domain informations (mesh and mask arrays). This (these) 413 !! file(s) is (are) used for visualisation (SAXO software) and 414 !! diagnostic computation. 412 !! ** Purpose : Create the "domain_cfg" file, a NetCDF file which 413 !! contains all the ocean domain informations required to 414 !! define an ocean configuration. 415 415 !! 416 !! ** Method : Write in a file all the arrays generated in routines 417 !! domhgr, domzgr, and dommsk. Note: the file contain depends on 418 !! the vertical coord. used (z-coord, partial steps, s-coord) 419 !! MOD(nn_msh, 3) = 1 : 'mesh_mask.nc' file 420 !! = 2 : 'mesh.nc' and mask.nc' files 421 !! = 0 : 'mesh_hgr.nc', 'mesh_zgr.nc' and 422 !! 'mask.nc' files 423 !! For huge size domain, use option 2 or 3 depending on your 424 !! vertical coordinate. 416 !! ** Method : Write in a file all the arrays required to set up an 417 !! ocean configuration. 425 418 !! 426 !! if nn_msh <= 3: write full 3D arrays for e3[tuvw] and gdep[tuvw] 427 !! if 3 < nn_msh <= 6: write full 3D arrays for e3[tuvw] and 2D arrays 428 !! corresponding to the depth of the bottom t- and w-points 429 !! if 6 < nn_msh <= 9: write 2D arrays corresponding to the depth and the 430 !! thickness (e3[tw]_ps) of the bottom points 431 !! 432 !! ** output file : meshmask.nc : domain size, horizontal grid-point position, 433 !! masks, depth and vertical scale factors 419 !! ** output file : domain_cfg.nc : domain size, characteristics, horizontal mesh, 420 !! Coriolis parameter, depth and vertical scale factors 434 421 !!---------------------------------------------------------------------- 435 422 INTEGER :: ji, jj, jk ! dummy loop indices … … 441 428 ! 442 429 IF(lwp) WRITE(numout,*) 443 IF(lwp) WRITE(numout,*) 'cfg_wri : create the "domain_cfg.nc" file containing all required configuration information'444 IF(lwp) WRITE(numout,*) '~~~~~~~ '430 IF(lwp) WRITE(numout,*) 'cfg_write : create the "domain_cfg.nc" file containing all required configuration information' 431 IF(lwp) WRITE(numout,*) '~~~~~~~~~' 445 432 ! 446 433 ! ! ============================= ! … … 532 519 CALL iom_close( inum ) 533 520 ! 534 END SUBROUTINE cfg_wri 521 END SUBROUTINE cfg_write 535 522 536 523 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.