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 5737 for branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90 – NEMO

Ignore:
Timestamp:
2015-09-13T09:42:41+02:00 (9 years ago)
Author:
gm
Message:

#1593: LDF-ADV, step I: Phasing of horizontal scale factors correct 2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r5603 r5737  
    2626   PRIVATE 
    2727 
    28    PUBLIC dom_wri        ! routine called by inidom.F90 
    29  
     28   PUBLIC   dom_wri              ! routine called by inidom.F90 
     29   PUBLIC   dom_wri_coordinate   ! routine called by domhgr.F90 
    3030   !! * Substitutions 
    3131#  include "vectopt_loop_substitute.h90" 
     
    3636   !!---------------------------------------------------------------------- 
    3737CONTAINS 
     38 
     39 
     40 
     41   SUBROUTINE dom_wri_coordinate 
     42      !!---------------------------------------------------------------------- 
     43      !!                  ***  ROUTINE dom_wri_coordinate  *** 
     44      !!                    
     45      !! ** Purpose :   Create the NetCDF file which contains all the 
     46      !!              standard coordinate information plus the surface, 
     47      !!              e1e2u and e1e2v. By doing so, those surface will 
     48      !!              not be changed by the reduction of e1u or e2v scale  
     49      !!              factors in some straits.  
     50      !!                 NB: call just after the read of standard coordinate 
     51      !!              and the reduction of scale factors in some straits 
     52      !! 
     53      !! ** output file :   coordinate_e1e2u_v.nc 
     54      !!---------------------------------------------------------------------- 
     55      INTEGER           ::   inum0    ! temprary units for 'coordinate_e1e2u_v.nc' file 
     56      CHARACTER(len=21) ::   clnam0   ! filename (mesh and mask informations) 
     57      !                                   !  workspaces 
     58      REAL(wp), POINTER, DIMENSION(:,:  ) :: zprt, zprw  
     59      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepu, zdepv 
     60      !!---------------------------------------------------------------------- 
     61      ! 
     62      IF( nn_timing == 1 )  CALL timing_start('dom_wri_coordinate') 
     63      ! 
     64      IF(lwp) WRITE(numout,*) 
     65      IF(lwp) WRITE(numout,*) 'dom_wri_coordinate : create NetCDF coordinate file' 
     66      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~~~~' 
     67       
     68      clnam0 = 'coordinate_e1e2u_v'  ! filename (mesh and mask informations) 
     69       
     70      !  create 'coordinate_e1e2u_v.nc' file 
     71      ! ============================ 
     72      ! 
     73      CALL iom_open( TRIM(clnam0), inum0, ldwrt = .TRUE., kiolib = jprstlib ) 
     74      ! 
     75      !                                                         ! horizontal mesh (inum3) 
     76      CALL iom_rstput( 0, 0, inum0, 'glamt', glamt, ktype = jp_r4 )     !    ! latitude 
     77      CALL iom_rstput( 0, 0, inum0, 'glamu', glamu, ktype = jp_r4 ) 
     78      CALL iom_rstput( 0, 0, inum0, 'glamv', glamv, ktype = jp_r4 ) 
     79      CALL iom_rstput( 0, 0, inum0, 'glamf', glamf, ktype = jp_r4 ) 
     80       
     81      CALL iom_rstput( 0, 0, inum0, 'gphit', gphit, ktype = jp_r4 )     !    ! longitude 
     82      CALL iom_rstput( 0, 0, inum0, 'gphiu', gphiu, ktype = jp_r4 ) 
     83      CALL iom_rstput( 0, 0, inum0, 'gphiv', gphiv, ktype = jp_r4 ) 
     84      CALL iom_rstput( 0, 0, inum0, 'gphif', gphif, ktype = jp_r4 ) 
     85       
     86      CALL iom_rstput( 0, 0, inum0, 'e1t', e1t, ktype = jp_r8 )         !    ! e1 scale factors 
     87      CALL iom_rstput( 0, 0, inum0, 'e1u', e1u, ktype = jp_r8 ) 
     88      CALL iom_rstput( 0, 0, inum0, 'e1v', e1v, ktype = jp_r8 ) 
     89      CALL iom_rstput( 0, 0, inum0, 'e1f', e1f, ktype = jp_r8 ) 
     90       
     91      CALL iom_rstput( 0, 0, inum0, 'e2t', e2t, ktype = jp_r8 )         !    ! e2 scale factors 
     92      CALL iom_rstput( 0, 0, inum0, 'e2u', e2u, ktype = jp_r8 ) 
     93      CALL iom_rstput( 0, 0, inum0, 'e2v', e2v, ktype = jp_r8 ) 
     94      CALL iom_rstput( 0, 0, inum0, 'e2f', e2f, ktype = jp_r8 ) 
     95       
     96      CALL iom_rstput( 0, 0, inum0, 'e1e2u', e1e2u, ktype = jp_r8 ) 
     97      CALL iom_rstput( 0, 0, inum0, 'e1e2v', e1e2v, ktype = jp_r8 ) 
     98 
     99      CALL iom_close( inum0 ) 
     100      ! 
     101      IF( nn_timing == 1 )  CALL timing_stop('dom_wri_coordinate') 
     102      ! 
     103   END SUBROUTINE dom_wri_coordinate 
     104 
    38105 
    39106   SUBROUTINE dom_wri 
Note: See TracChangeset for help on using the changeset viewer.