Changeset 9089 for branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/ISOMIP/MY_SRC/usrdef_hgr.F90
- Timestamp:
- 2017-12-15T18:00:09+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/CONFIG/TEST_CASES/ISOMIP/MY_SRC/usrdef_hgr.F90
r9019 r9089 17 17 USE par_oce ! ocean space and time domain 18 18 USE phycst ! physical constants 19 USE usrdef_nam, ONLY: rn_ lam0, rn_phi0, rn_e1deg, rn_e2deg ! horizontal resolution in meters19 USE usrdef_nam, ONLY: rn_e1deg, rn_e2deg ! horizontal resolution in meters 20 20 ! 21 21 USE in_out_manager ! I/O manager 22 22 USE lib_mpp ! MPP library 23 USE timing ! Timing24 23 25 24 IMPLICIT NONE … … 29 28 30 29 !!---------------------------------------------------------------------- 31 !! NEMO/OPA 4.0 , NEMO Consortium (201 6)30 !! NEMO/OPA 4.0 , NEMO Consortium (2017) 32 31 !! $Id$ 33 32 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 66 65 !!------------------------------------------------------------------------------- 67 66 ! 68 IF( nn_timing == 1 ) CALL timing_start('usr_def_hgr')69 !70 67 IF(lwp) THEN 71 68 WRITE(numout,*) … … 79 76 ! !== grid point position ==! (in degrees) 80 77 DO jj = 1, jpj 78 DO ji = 1, jpi ! longitude (west coast at lon=0°) 79 plamt(ji,jj) = rn_e1deg * ( - 0.5 + REAL( ji-1 + nimpp-1 , wp ) ) 80 plamu(ji,jj) = rn_e1deg * ( REAL( ji-1 + nimpp-1 , wp ) ) 81 plamv(ji,jj) = plamt(ji,jj) 82 plamf(ji,jj) = plamu(ji,jj) 83 ! ! latitude (south coast at lat= 81°) 84 pphit(ji,jj) = rn_e2deg * ( - 0.5 + REAL( jj-1 + njmpp-1 , wp ) ) - 80._wp 85 pphiu(ji,jj) = pphit(ji,jj) 86 pphiv(ji,jj) = rn_e2deg * ( REAL( jj-1 + njmpp-1 , wp ) ) - 80_wp 87 pphif(ji,jj) = pphiv(ji,jj) 88 END DO 89 END DO 90 ! 91 ! !== Horizontal scale factors ==! (in meters) 92 DO jj = 1, jpj 81 93 DO ji = 1, jpi 82 zti = FLOAT( ji - 1 + nimpp - 1 ) ; ztj = FLOAT( jj - 1 + njmpp - 1 ) 83 zui = FLOAT( ji - 1 + nimpp - 1 ) + 0.5 ; zuj = FLOAT( jj - 1 + njmpp - 1 ) 84 zvi = FLOAT( ji - 1 + nimpp - 1 ) ; zvj = FLOAT( jj - 1 + njmpp - 1 ) + 0.5 85 zfi = FLOAT( ji - 1 + nimpp - 1 ) + 0.5 ; zfj = FLOAT( jj - 1 + njmpp - 1 ) + 0.5 86 ! Longitude 87 plamt(ji,jj) = rn_lam0 + rn_e1deg * zti 88 plamu(ji,jj) = rn_lam0 + rn_e1deg * zui 89 plamv(ji,jj) = rn_lam0 + rn_e1deg * zvi 90 plamf(ji,jj) = rn_lam0 + rn_e1deg * zfi 91 ! Latitude 92 pphit(ji,jj) = rn_phi0 + rn_e2deg * ztj 93 pphiu(ji,jj) = rn_phi0 + rn_e2deg * zuj 94 pphiv(ji,jj) = rn_phi0 + rn_e2deg * zvj 95 pphif(ji,jj) = rn_phi0 + rn_e2deg * zfj 96 97 ! !== Horizontal scale factors ==! (in meters) 98 ! e1 94 ! ! e1 (zonal) 99 95 pe1t(ji,jj) = ra * rad * COS( rad * pphit(ji,jj) ) * rn_e1deg 100 96 pe1u(ji,jj) = ra * rad * COS( rad * pphiu(ji,jj) ) * rn_e1deg 101 97 pe1v(ji,jj) = ra * rad * COS( rad * pphiv(ji,jj) ) * rn_e1deg 102 98 pe1f(ji,jj) = ra * rad * COS( rad * pphif(ji,jj) ) * rn_e1deg 103 ! e299 ! ! e2 (meridional) 104 100 pe2t(ji,jj) = ra * rad * rn_e2deg 105 101 pe2u(ji,jj) = ra * rad * rn_e2deg … … 109 105 END DO 110 106 ! ! NO reduction of grid size in some straits 111 ke1e2u_v = 0! ==>> u_ & v_surfaces will be computed in dom_ghr routine107 ke1e2u_v = 0 ! ==>> u_ & v_surfaces will be computed in dom_ghr routine 112 108 pe1e2u(:,:) = 0._wp ! CAUTION: set to zero to avoid error with some compilers that 113 109 pe1e2v(:,:) = 0._wp ! require an initialization of INTENT(out) arguments … … 116 112 ! !== Coriolis parameter ==! 117 113 kff = 0 ! Coriolis parameter calculated on the sphere 118 !119 !120 114 pff_f(:,:) = 0._wp ! CAUTION: set to zero to avoid error with some compilers that 121 115 pff_t(:,:) = 0._wp ! require an initialization of INTENT(out) arguments 122 !123 IF( nn_timing == 1 ) CALL timing_stop('usr_def_hgr')124 116 ! 125 117 END SUBROUTINE usr_def_hgr
Note: See TracChangeset
for help on using the changeset viewer.