New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 6717 for branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90 – NEMO

Ignore:
Timestamp:
2016-06-17T12:00:46+02:00 (8 years ago)
Author:
gm
Message:

#1692 - branch SIMPLIF_2_usrdef: numerous improvement in the user defined interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r6667 r6717  
    2020   !!   dom_nam       : read and contral domain namelists 
    2121   !!   dom_ctl       : control print for the ocean domain 
    22    !!   cfg_wri       : create the "domain_cfg.nc" file containing all required configuration information    
     22   !!   cfg_write     : create the "domain_cfg.nc" file containing all required configuration information    
    2323   !!---------------------------------------------------------------------- 
    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 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) 
     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) 
    3636   ! 
    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 
     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 
    4343 
    4444   IMPLICIT NONE 
     
    8686         WRITE(numout,*)     '      dimension of model' 
    8787         WRITE(numout,*)     '             Local domain      Global domain       Data domain ' 
    88          WRITE(numout,cform) '        ','   jpi     : ', jpi, '   jpiglo  : ', jpiglo, '   jpidta  : ', jpidta 
    89          WRITE(numout,cform) '        ','   jpj     : ', jpj, '   jpjglo  : ', jpjglo, '   jpjdta  : ', jpjdta 
    90          WRITE(numout,cform) '        ','   jpk     : ', jpk, '   jpkglo  : ', jpkglo, '   jpkdta  : ', jpkdta 
     88         WRITE(numout,cform) '        ','   jpi     : ', jpi, '   jpiglo  : ', jpiglo 
     89         WRITE(numout,cform) '        ','   jpj     : ', jpj, '   jpjglo  : ', jpjglo 
     90         WRITE(numout,cform) '        ','   jpk     : ', jpk, '   jpkglo  : ', jpkglo 
    9191         WRITE(numout,cform) '       ' ,'   jpij    : ', jpij 
    9292         WRITE(numout,*)     '      mpp local domain info (mpp)' 
     
    100100      !       
    101101      CALL dom_nam                     ! read namelist ( namrun, namdom ) 
    102       CALL dom_clo                     ! Closed seas and lake 
     102      CALL dom_clo( cp_cfg, jp_cfg )   ! Closed seas and lake 
    103103      CALL dom_hgr                     ! Horizontal mesh 
    104104      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  ==! 
    105106      CALL dom_msk( ik_top, ik_bot )   ! Masks 
    106107      ! 
     
    171172      ENDIF 
    172173      ! 
    173       IF( ln_write_cfg )   CALL cfg_wri           ! create the configuration file 
     174      IF( ln_write_cfg )   CALL cfg_write         ! create the configuration file 
    174175      ! 
    175176      IF( nn_timing == 1 )   CALL timing_stop('dom_init') 
     
    405406 
    406407 
    407    SUBROUTINE cfg_wri 
    408       !!---------------------------------------------------------------------- 
    409       !!                  ***  ROUTINE cfg_wri  *** 
     408   SUBROUTINE cfg_write 
     409      !!---------------------------------------------------------------------- 
     410      !!                  ***  ROUTINE cfg_write  *** 
    410411      !!                    
    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. 
    415415      !! 
    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. 
    425418      !! 
    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 
    434421      !!---------------------------------------------------------------------- 
    435422      INTEGER           ::   ji, jj, jk   ! dummy loop indices 
     
    441428      ! 
    442429      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,*) '~~~~~~~~~' 
    445432      ! 
    446433      !                       ! ============================= ! 
     
    532519      CALL iom_close( inum ) 
    533520      ! 
    534    END SUBROUTINE cfg_wri 
     521   END SUBROUTINE cfg_write 
    535522 
    536523   !!====================================================================== 
Note: See TracChangeset for help on using the changeset viewer.