- Timestamp:
- 2015-09-24T08:31:40+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/CRS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90
r5217 r5758 11 11 !! other variables needed to be passed to TOP 12 12 !!---------------------------------------------------------------------- 13 USE oce ! ocean dynamics and tracers14 USE dom_oce ! ocean space and time domain15 USE ldftra_oce ! ocean active tracers: lateral physics16 USE sbc_oce ! Surface boundary condition: ocean fields17 USE zdf_oce ! vertical physics: ocean fields18 USE zdfddm ! vertical physics: double diffusion19 USE lbclnk ! ocean lateral boundary conditions (or mpp link)20 USE in_out_manager ! I/O manager21 USE timing ! preformance summary22 USE wrk_nemo ! working array23 13 USE crs 24 14 USE crsdom 25 15 USE crslbclnk 26 USE iom 16 USE oce ! ocean dynamics and tracers 17 USE dom_oce ! ocean space and time domain 18 USE sbc_oce ! Surface boundary condition: ocean fields 19 USE zdf_oce ! vertical physics: ocean fields 20 USE ldftra ! ocean active tracers: lateral diffusivity & EIV coefficients 21 USE zdfddm ! vertical physics: double diffusion 22 ! 23 USE in_out_manager ! I/O manager 24 USE iom ! 25 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 26 USE timing ! preformance summary 27 USE wrk_nemo ! working array 27 28 28 29 IMPLICIT NONE … … 30 31 31 32 PUBLIC crs_fld ! routines called by step.F90 32 33 33 34 34 !! * Substitutions … … 37 37 # include "vectopt_loop_substitute.h90" 38 38 !!---------------------------------------------------------------------- 39 !! NEMO/OPA 3. 3 , NEMO Consortium (2010)39 !! NEMO/OPA 3.7 , NEMO Consortium (2015) 40 40 !! $Id$ 41 41 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 56 56 !! ** Method : 57 57 !!---------------------------------------------------------------------- 58 !! 59 60 INTEGER, INTENT( in ) :: kt ! ocean time-step index 61 !! 62 INTEGER :: ji, jj, jk ! dummy loop indices 63 !! 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfse3t, zfse3u, zfse3v, zfse3w ! 3D workspace for e3 65 REAL(wp), POINTER, DIMENSION(:,:,:) :: zt, zs 66 REAL(wp), POINTER, DIMENSION(:,:,:) :: zt_crs, zs_crs ! 67 REAL(wp) :: z2dcrsu, z2dcrsv 68 !! 69 !!---------------------------------------------------------------------- 58 INTEGER, INTENT(in) :: kt ! ocean time-step index 59 ! 60 INTEGER :: ji, jj, jk ! dummy loop indices 61 REAL(wp) :: z2dcrsu, z2dcrsv ! local scalars 62 ! 63 REAL(wp), POINTER, DIMENSION(:,:,:) :: zfse3t, zfse3u, zfse3v, zfse3w ! 3D workspace for e3 64 REAL(wp), POINTER, DIMENSION(:,:,:) :: zt, zt_crs 65 REAL(wp), POINTER, DIMENSION(:,:,:) :: zs, zs_crs 66 !!---------------------------------------------------------------------- 70 67 ! 71 72 68 IF( nn_timing == 1 ) CALL timing_start('crs_fld') 73 69 74 70 ! Initialize arrays 75 CALL wrk_alloc( jpi, jpj, jpk,zfse3t, zfse3w )76 CALL wrk_alloc( jpi, jpj, jpk,zfse3u, zfse3v )77 CALL wrk_alloc( jpi, jpj, jpk, zt, zs)71 CALL wrk_alloc( jpi,jpj,jpk, zfse3t, zfse3w ) 72 CALL wrk_alloc( jpi,jpj,jpk, zfse3u, zfse3v ) 73 CALL wrk_alloc( jpi,jpj,jpk, zt , zs ) 78 74 ! 79 75 CALL wrk_alloc( jpi_crs, jpj_crs, jpk, zt_crs, zs_crs ) -
branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90
r5215 r5758 7 7 !!---------------------------------------------------------------------- 8 8 9 USE timing ! Timing 9 !!---------------------------------------------------------------------- 10 !! crs_init : 11 !!---------------------------------------------------------------------- 12 USE par_kind, ONLY: wp 10 13 USE par_oce ! For parameter jpi,jpj,jphgr_msh 11 14 USE dom_oce ! For parameters in par_oce (jperio, lk_vvl) 12 USE crs ! Coarse grid domain15 USE crs ! Coarse grid domain 13 16 USE phycst, ONLY: omega, rad ! physical constants 14 USE wrk_nemo15 USE in_out_manager16 USE par_kind, ONLY: wp17 USE iom18 17 USE crsdom 19 18 USE crsdomwri 20 19 USE crslbclnk 20 ! 21 USE iom 22 USE in_out_manager 21 23 USE lib_mpp 24 USE wrk_nemo 25 USE timing ! Timing 22 26 23 27 IMPLICIT NONE 24 28 PRIVATE 25 29 26 PUBLIC crs_init30 PUBLIC crs_init ! called by nemogcm.F90 module 27 31 28 32 !! * Substitutions 29 33 # include "domzgr_substitute.h90" 30 34 !!---------------------------------------------------------------------- 31 35 !! $Id$ 36 !!---------------------------------------------------------------------- 32 37 CONTAINS 33 38 … … 65 70 !! - Read in pertinent data ? 66 71 !!------------------------------------------------------------------- 67 !! Local variables68 72 INTEGER :: ji,jj,jk ! dummy indices 69 73 INTEGER :: ierr ! allocation error status … … 183 187 184 188 ! 185 CALL wrk_alloc( jpi, jpj, jpk,zfse3t, zfse3u, zfse3v, zfse3w )189 CALL wrk_alloc( jpi,jpj,jpk, zfse3t, zfse3u, zfse3v, zfse3w ) 186 190 ! 187 191 zfse3t(:,:,:) = fse3t(:,:,:) … … 200 204 ! 3.d.3 Vertical scale factors 201 205 ! 202 203 204 206 CALL crs_dom_e3( e1t, e2t, zfse3t, e1e2w_crs, 'T', tmask, e3t_crs, e3t_max_crs) 205 207 CALL crs_dom_e3( e1u, e2u, zfse3u, e2e3u_crs, 'U', umask, e3u_crs, e3u_max_crs) … … 207 209 CALL crs_dom_e3( e1t, e2t, zfse3w, e1e2w_crs, 'W', tmask, e3w_crs, e3w_max_crs) 208 210 209 ! Re set 0 toe3t_0 or e3w_0211 ! Replace 0 by e3t_0 or e3w_0 210 212 DO jk = 1, jpk 211 213 DO ji = 1, jpi_crs … … 247 249 ENDIF 248 250 249 !--------------------------------------------------------- 250 ! 7. Finish and clean-up 251 !--------------------------------------------------------- 252 CALL wrk_dealloc(jpi, jpj, jpk, zfse3t, zfse3u, zfse3v, zfse3w ) 253 254 251 !--------------------------------------------------------- 252 ! 7. Finish and clean-up 253 !--------------------------------------------------------- 254 CALL wrk_dealloc( jpi,jpj,jpk, zfse3t, zfse3u, zfse3v, zfse3w ) 255 ! 255 256 END SUBROUTINE crs_init 256 257 257 258 !!====================================================================== 258 259 259 END MODULE crsini
Note: See TracChangeset
for help on using the changeset viewer.