Changeset 15023 for NEMO/trunk/src/OCE
- Timestamp:
- 2021-06-18T16:35:25+02:00 (3 years ago)
- Location:
- NEMO/trunk/src/OCE
- Files:
-
- 2 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/ASM/asminc.F90
r14834 r15023 617 617 !!gm 618 618 619 IF( ln_zps .AND. .NOT. l k_c1d .AND. .NOT. ln_isfcav) &619 IF( ln_zps .AND. .NOT. ln_c1d .AND. .NOT. ln_isfcav) & 620 620 & CALL zps_hde ( kt, Kmm, jpts, pts(:,:,:,:,Kbb), gtsu, gtsv, & ! Partial steps: before horizontal gradient 621 621 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 622 IF( ln_zps .AND. .NOT. l k_c1d .AND. ln_isfcav) &622 IF( ln_zps .AND. .NOT. ln_c1d .AND. ln_isfcav) & 623 623 & CALL zps_hde_isf( nit000, Kmm, jpts, pts(:,:,:,:,Kbb), gtsu, gtsv, gtui, gtvi, & ! Partial steps for top cell (ISF) 624 624 & rhd, gru , grv , grui, grvi ) ! of t, s, rd at the last ocean level -
NEMO/trunk/src/OCE/C1D/c1d.F90
r12377 r15023 8 8 !! 3.5 ! 2013-10 (D. Calvert) add namelist 9 9 !!---------------------------------------------------------------------- 10 #if defined key_c1d 11 !!---------------------------------------------------------------------- 12 !! 'key_c1d' 1D column configuration 10 13 11 !!---------------------------------------------------------------------- 14 12 !! c1d_init : read in the C1D namelist … … 24 22 PUBLIC c1d_init ! called by nemogcm.F90 25 23 26 LOGICAL , PUBLIC, PARAMETER :: lk_c1d = .TRUE. ! 1D config. flag27 28 24 REAL(wp), PUBLIC :: rn_lat1d !: Column latitude 29 25 REAL(wp), PUBLIC :: rn_lon1d !: Column longitude 30 LOGICAL , PUBLIC :: ln_c1d_locpt !: Localization (or not) of 1D column in a grid31 26 32 27 !!---------------------------------------------------------------------- … … 47 42 INTEGER :: ios ! Local integer 48 43 !! 49 NAMELIST/namc1d/ rn_lat1d, rn_lon1d , ln_c1d_locpt44 NAMELIST/namc1d/ rn_lat1d, rn_lon1d 50 45 !!---------------------------------------------------------------------- 51 46 ! … … 64 59 WRITE(numout,*) ' column latitude rn_lat1d = ', rn_lat1d 65 60 WRITE(numout,*) ' column longitude rn_lon1d = ', rn_lon1d 66 WRITE(numout,*) ' column localization in a grid ln_c1d_locpt = ', ln_c1d_locpt67 61 ENDIF 68 62 ! 69 63 END SUBROUTINE c1d_init 70 64 71 #else72 !!----------------------------------------------------------------------73 !! Dummy module : No use of 1D configuration74 !!----------------------------------------------------------------------75 USE par_kind ! kind parameters76 LOGICAL, PUBLIC, PARAMETER :: lk_c1d = .FALSE. !: 1D config. flag de-activated77 REAL(wp) :: rn_lat1d, rn_lon1d78 LOGICAL , PUBLIC :: ln_c1d_locpt = .FALSE.79 CONTAINS80 SUBROUTINE c1d_init ! Dummy routine81 END SUBROUTINE c1d_init82 #endif83 84 65 !!====================================================================== 85 66 END MODULE c1d -
NEMO/trunk/src/OCE/C1D/dtauvd.F90
r13497 r15023 26 26 PUBLIC dta_uvd ! called by istate.F90 and dyndmp.90 27 27 28 LOGICAL , PUBLIC :: ln_uvd_init ! Flag to initialise with U & V current data29 LOGICAL , PUBLIC :: ln_uvd_dyndmp ! Flag for Newtonian damping toward U & V current data28 LOGICAL , PUBLIC :: ln_uvd_init = .FALSE. ! Flag to initialise with U & V current data 29 LOGICAL , PUBLIC :: ln_uvd_dyndmp = .FALSE. ! Flag for Newtonian damping toward U & V current data 30 30 31 31 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_uvd ! structure for input U & V current (file information and data) … … 93 93 94 94 ! 95 IF( ln_uvd_init .OR. ln_uvd_dyndmp) THEN95 IF( ln_uvd_init .OR. ln_uvd_dyndmp ) THEN 96 96 ! !== allocate the data arrays ==! 97 97 ALLOCATE( sf_uvd(2), STAT=ierr0 ) … … 117 117 118 118 119 SUBROUTINE dta_uvd( kt, Kmm, pu vd )119 SUBROUTINE dta_uvd( kt, Kmm, pud, pvd ) 120 120 !!---------------------------------------------------------------------- 121 121 !! *** ROUTINE dta_uvd *** … … 134 134 INTEGER , INTENT(in ) :: kt ! ocean time-step 135 135 INTEGER , INTENT(in ) :: Kmm ! time level index 136 REAL(wp), DIMENSION(jpi,jpj,jpk,2), INTENT( out) :: puvd ! U & V current data 136 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pud ! U & V current data 137 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT( out) :: pvd ! U & V current data 137 138 ! 138 139 INTEGER :: ji, jj, jk, jl, jkk ! dummy loop indicies … … 146 147 CALL fld_read( kt, 1, sf_uvd ) !== read U & V current data at time step kt ==! 147 148 ! 148 pu vd(:,:,:,1) = sf_uvd(1)%fnow(:,:,:) ! NO mask149 p uvd(:,:,:,2) = sf_uvd(2)%fnow(:,:,:)149 pud(:,:,:) = sf_uvd(1)%fnow(:,:,:) ! NO mask 150 pvd(:,:,:) = sf_uvd(2)%fnow(:,:,:) 150 151 ! 151 152 IF( ln_sco ) THEN !== s- or mixed s-zps-coordinate ==! … … 162 163 zl = gdept(ji,jj,jk,Kmm) 163 164 IF ( zl < gdept_1d(1 ) ) THEN ! extrapolate above the first level of data 164 zup(jk) = pu vd(ji,jj,1,1)165 zvp(jk) = p uvd(ji,jj,1 ,2)165 zup(jk) = pud(ji,jj,1) 166 zvp(jk) = pvd(ji,jj,1) 166 167 ELSEIF( zl > gdept_1d(jpk) ) THEN ! extrapolate below the last level of data 167 zup(jk) = pu vd(ji,jj,jpkm1,1)168 zvp(jk) = p uvd(ji,jj,jpkm1,2)168 zup(jk) = pud(ji,jj,jpkm1) 169 zvp(jk) = pvd(ji,jj,jpkm1) 169 170 ELSE ! inbetween : vertical interpolation between jkk & jkk+1 170 171 DO jkk = 1, jpkm1 ! when gdept(jkk) < zl < gdept(jkk+1) 171 172 IF( (zl-gdept_1d(jkk)) * (zl-gdept_1d(jkk+1)) <= 0._wp ) THEN 172 173 zi = ( zl - gdept_1d(jkk) ) / (gdept_1d(jkk+1)-gdept_1d(jkk)) 173 zup(jk) = pu vd(ji,jj,jkk,1) + ( puvd(ji,jj,jkk+1,1 ) - puvd(ji,jj,jkk,1) ) * zi174 zvp(jk) = p uvd(ji,jj,jkk,2) + ( puvd(ji,jj,jkk+1,2 ) - puvd(ji,jj,jkk,2) ) * zi174 zup(jk) = pud(ji,jj,jkk) + ( pud(ji,jj,jkk+1) - pud(ji,jj,jkk) ) * zi 175 zvp(jk) = pvd(ji,jj,jkk) + ( pvd(ji,jj,jkk+1) - pvd(ji,jj,jkk) ) * zi 175 176 ENDIF 176 177 END DO … … 178 179 END DO 179 180 DO jk = 1, jpkm1 ! apply mask 180 pu vd(ji,jj,jk,1) = zup(jk) * umask(ji,jj,jk)181 p uvd(ji,jj,jk,2) = zvp(jk) * vmask(ji,jj,jk)181 pud(ji,jj,jk) = zup(jk) * umask(ji,jj,jk) 182 pvd(ji,jj,jk) = zvp(jk) * vmask(ji,jj,jk) 182 183 END DO 183 pu vd(ji,jj,jpk,1) = 0._wp184 p uvd(ji,jj,jpk,2) = 0._wp184 pud(ji,jj,jpk) = 0._wp 185 pvd(ji,jj,jpk) = 0._wp 185 186 END_2D 186 187 ! … … 189 190 ELSE !== z- or zps- coordinate ==! 190 191 ! 191 pu vd(:,:,:,1) = puvd(:,:,:,1) * umask(:,:,:) ! apply mask192 p uvd(:,:,:,2) = puvd(:,:,:,2) * vmask(:,:,:)192 pud(:,:,:) = pud(:,:,:) * umask(:,:,:) ! apply mask 193 pvd(:,:,:) = pvd(:,:,:) * vmask(:,:,:) 193 194 ! 194 195 IF( ln_zps ) THEN ! zps-coordinate (partial steps) interpolation at the last ocean level … … 197 198 IF( ik > 1 ) THEN 198 199 zl = ( gdept_1d(ik) - gdept_0(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) ) 199 pu vd(ji,jj,ik,1) = (1.-zl) * puvd(ji,jj,ik,1) + zl * puvd(ji,jj,ik-1,1)200 p uvd(ji,jj,ik,2) = (1.-zl) * puvd(ji,jj,ik,2) + zl * puvd(ji,jj,ik-1,2)200 pud(ji,jj,ik) = (1.-zl) * pud(ji,jj,ik) + zl * pud(ji,jj,ik-1) 201 pvd(ji,jj,ik) = (1.-zl) * pvd(ji,jj,ik) + zl * pvd(ji,jj,ik-1) 201 202 ENDIF 202 203 END_2D -
NEMO/trunk/src/OCE/C1D/dyndmp.F90
r13295 r15023 159 159 ! 160 160 ! !== read and interpolate U & V current data at kt ==! 161 CALL dta_uvd( kt, Kmm, zuv_dta ) !!! NOTE: This subroutine must be altered for use outside 162 !!! the C1D context (use of U,V grid variables) 161 CALL dta_uvd( kt, Kmm, zuv_dta(:,:,:,1), zuv_dta(:,:,:,2)) 163 162 ! 164 163 SELECT CASE ( nn_zdmp ) !== Calculate/add Newtonian damping to the momentum trend ==! -
NEMO/trunk/src/OCE/DOM/dom_oce.F90
r14834 r15023 38 38 LOGICAL , PUBLIC :: ln_1st_euler !: =T start with forward time step or not (=F) 39 39 LOGICAL , PUBLIC :: ln_crs !: Apply grid coarsening to dynamical model output or online passive tracers 40 LOGICAL , PUBLIC :: ln_c1d !: =T single column domain (1x1 pt) 40 41 41 42 !! Free surface parameters -
NEMO/trunk/src/OCE/DOM/domain.F90
r15014 r15023 11 11 !! NEMO 1.0 ! 2002-08 (G. Madec) F90: Free form and module 12 12 !! 2.0 ! 2005-11 (V. Garnier) Surface pressure gradient organization 13 !! 3.3 ! 2010-11 (G. Madec) initialisation in C1D configuration 13 !! 3.3 ! 2010-11 (G. Madec) initialisation in C1D configuration 14 14 !! 3.6 ! 2013 ( J. Simeon, C. Calone, G. Madec, C. Ethe ) Online coarsening of outputs 15 15 !! 3.7 ! 2015-11 (G. Madec, A. Coward) time varying zgr by default … … 46 46 USE dommsk ! domain: set the mask system 47 47 USE domwri ! domain: write the meshmask file 48 USE c1d ! 1D configuration49 USE dyncor_c1d ! 1D configuration: Coriolis term (cor_c1d routine)50 48 USE wet_dry , ONLY : ll_wd ! wet & drying flag 51 49 USE closea , ONLY : dom_clo ! closed seas routine 50 USE c1d 52 51 ! 53 52 USE in_out_manager ! I/O manager … … 129 128 CALL dom_tile_init ! Tile domain 130 129 130 IF( ln_c1d ) CALL c1d_init ! 1D column configuration 131 131 ! 132 132 CALL dom_hgr ! Horizontal mesh … … 226 226 #endif 227 227 228 !229 230 IF( lk_c1d ) CALL cor_c1d ! 1D configuration: Coriolis set at T-point231 228 ! 232 229 … … 320 317 & nn_stock, nn_write , ln_mskland , ln_clobber , nn_chunksz, ln_1st_euler , & 321 318 & ln_cfmeta, ln_xios_read, nn_wxios 322 NAMELIST/namdom/ ln_linssh, rn_Dt, rn_atfp, ln_crs, ln_ meshmask319 NAMELIST/namdom/ ln_linssh, rn_Dt, rn_atfp, ln_crs, ln_c1d, ln_meshmask 323 320 NAMELIST/namtile/ ln_tile, nn_ltile_i, nn_ltile_j 324 321 #if defined key_netcdf4 … … 361 358 WRITE(numout,*) ' asselin time filter parameter rn_atfp = ', rn_atfp 362 359 WRITE(numout,*) ' online coarsening of dynamical fields ln_crs = ', ln_crs 360 WRITE(numout,*) ' single column domain (1x1pt) ln_c1d = ', ln_c1d 363 361 ENDIF 364 362 ! -
NEMO/trunk/src/OCE/DOM/istate.F90
r14834 r15023 76 76 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 77 77 78 CALL dta_tsd_init ! Initialisation of T & S input data 79 80 ! IF( lk_c1d ) CALL dta_uvd_init ! Initialization of U & V input data 78 CALL dta_tsd_init ! Initialisation of T & S input data 79 IF( ln_c1d) CALL dta_uvd_init ! Initialisation of U & V input data (c1d only) 81 80 82 81 rhd (:,:,: ) = 0._wp ; rhop (:,:,: ) = 0._wp ! set one for all to 0 at level jpk … … 114 113 ! 115 114 IF( ln_tsd_init ) THEN 116 CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) ) ! read 3D T and S data at nit000 117 ! 115 CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) ) ! read 3D T and S data at nit000 116 ENDIF 117 ! 118 IF( ln_uvd_init .AND. ln_c1d ) THEN 119 CALL dta_uvd( nit000, Kbb, uu(:,:,:,Kbb), vv(:,:,:,Kbb) ) ! read 3D U and V data at nit000 120 ELSE 118 121 uu (:,:,:,Kbb) = 0._wp ! set the ocean at rest 119 122 vv (:,:,:,Kbb) = 0._wp 123 ENDIF 120 124 ! 121 ELSE ! user defined initial T and S 125 ! 126 IF( .NOT. ln_tsd_init .AND. .NOT. ln_uvd_init ) THEN 122 127 DO jk = 1, jpk 123 128 zgdept(:,:,jk) = gdept(:,:,jk,Kbb) … … 129 134 vv (:,:,:,Kmm) = vv (:,:,:,Kbb) 130 135 131 !132 !!gm ==>>> to be moved in usrdef_istate of C1D case133 IF ( ln_uvd_init .AND. lk_c1d ) THEN ! read 3D U and V data at nit000134 ALLOCATE( zuvd(jpi,jpj,jpk,2) )135 CALL dta_uvd( nit000, Kbb, zuvd )136 uu(:,:,:,Kbb) = zuvd(:,:,:,1) ; uu(:,:,:,Kmm) = uu(:,:,:,Kbb)137 vv(:,:,:,Kbb) = zuvd(:,:,:,2) ; vv(:,:,:,Kmm) = vv(:,:,:,Kbb)138 DEALLOCATE( zuvd )139 ENDIF140 !141 !142 136 ENDIF 143 137 #if defined key_agrif -
NEMO/trunk/src/OCE/IOM/iom.F90
r15017 r15023 22 22 USE dom_oce ! ocean space and time domain 23 23 USE domutl ! 24 USE c1d ! 1D vertical configuration25 24 USE flo_oce ! floats module declarations 26 25 USE lbclnk ! lateal boundary condition / mpp exchanges … … 1410 1409 #endif 1411 1410 ENDIF 1412 !some final adjustments1413 ! C1D case : always call lbc_lnk to replicate the central value over the whole 3X3 domain1414 IF( lk_c1d .AND. PRESENT(pv_r2d) ) CALL lbc_lnk( 'iom', pv_r2d,'Z',1.0_wp )1415 IF( lk_c1d .AND. PRESENT(pv_r3d) ) CALL lbc_lnk( 'iom', pv_r3d,'Z',1.0_wp )1416 1411 1417 1412 !--- Apply scale_factor and offset -
NEMO/trunk/src/OCE/LBC/lib_mpp.F90
r14433 r15023 76 76 PUBLIC mpp_bcast_nml 77 77 PUBLIC tic_tac 78 #if defined key_mpp_off 79 PUBLIC MPI_wait 80 PUBLIC MPI_Wtime 78 #if defined key_mpi_off 79 PUBLIC MPI_wait 80 PUBLIC MPI_waitall 81 PUBLIC MPI_Wtime 81 82 #endif 82 83 … … 127 128 INTEGER, PUBLIC, PARAMETER :: MPI_REAL = 4 128 129 INTEGER, PUBLIC, PARAMETER :: MPI_DOUBLE_PRECISION = 8 130 INTEGER, PUBLIC, PARAMETER :: MPI_REQUEST_NULL = 1 129 131 LOGICAL, PUBLIC, PARAMETER :: lk_mpp = .FALSE. !: mpp flag 132 INTEGER, PUBLIC, DIMENSION(MPI_STATUS_SIZE) :: MPI_STATUS_IGNORE = 1 ! out from mpi_wait 133 INTEGER, PUBLIC, DIMENSION(MPI_STATUS_SIZE) :: MPI_STATUSES_IGNORE = 1 ! out from mpi_waitall 130 134 #endif 131 135 … … 1401 1405 INTEGER, DIMENSION(MPI_STATUS_SIZE), INTENT( out) :: status 1402 1406 INTEGER , INTENT( out) :: ierror 1407 IF (.FALSE.) THEN ! to avoid compilation warning 1408 status(:) = -1 1409 ierror = -1 1410 ENDIF 1403 1411 END SUBROUTINE mpi_wait 1404 1412 1413 SUBROUTINE mpi_waitall(count, request, status, ierror) 1414 INTEGER , INTENT(in ) :: count 1415 INTEGER, DIMENSION(count) , INTENT(in ) :: request 1416 INTEGER, DIMENSION(MPI_STATUS_SIZE), INTENT( out) :: status 1417 INTEGER , INTENT( out) :: ierror 1418 IF (.FALSE.) THEN ! to avoid compilation warning 1419 status(:) = -1 1420 ierror = -1 1421 ENDIF 1422 END SUBROUTINE mpi_waitall 1405 1423 1406 1424 FUNCTION MPI_Wtime() -
NEMO/trunk/src/OCE/LBC/mppini.F90
r14976 r15023 62 62 !!---------------------------------------------------------------------- 63 63 ! 64 nn_hls = 1 65 jpiglo = Ni0glo + 2 * nn_hls 66 jpjglo = Nj0glo + 2 * nn_hls 67 jpimax = jpiglo 68 jpjmax = jpjglo 69 jpi = jpiglo 70 jpj = jpjglo 71 jpk = MAX( 2, jpkglo ) 72 jpij = jpi*jpj 73 jpni = 1 74 jpnj = 1 75 jpnij = jpni*jpnj 76 nimpp = 1 77 njmpp = 1 78 nidom = FLIO_DOM_NONE 64 nn_comm = 1 65 nn_hls = 1 66 jpiglo = Ni0glo + 2 * nn_hls 67 jpjglo = Nj0glo + 2 * nn_hls 68 jpimax = jpiglo 69 jpjmax = jpjglo 70 jpi = jpiglo 71 jpj = jpjglo 72 jpk = MAX( 2, jpkglo ) 73 jpij = jpi*jpj 74 jpni = 1 75 jpnj = 1 76 jpnij = jpni*jpnj 77 nimpp = 1 78 njmpp = 1 79 nidom = FLIO_DOM_NONE 80 ! 81 mpiSnei(:,:) = -1 82 mpiRnei(:,:) = -1 83 l_SelfPerio(1:2) = l_Iperio ! west, east periodicity by itself 84 l_SelfPerio(3:4) = l_Jperio ! south, north periodicity by itself 85 l_SelfPerio(5:8) = l_Iperio .AND. l_Jperio ! corners bi-periodicity by itself 86 l_IdoNFold = l_NFold ! is this process doing North fold? 79 87 ! 80 88 CALL init_doloop ! set start/end indices or do-loop depending on the halo width value (nn_hls) … … 532 540 END DO 533 541 ! 534 CALL init_excl_landpt ! exclude exchanges which contain only land points542 IF( jpnij > 1) CALL init_excl_landpt ! exclude exchanges which contain only land points 535 543 ! 536 544 ! Save processor layout changes in ascii file -
NEMO/trunk/src/OCE/SBC/fldread.F90
r14437 r15023 38 38 USE ioipsl , ONLY : ymds2ju, ju2ymds ! for calendar 39 39 USE lib_mpp ! MPP library 40 USE lbclnk ! ocean lateral boundary conditions ( C1Dcase)40 USE lbclnk ! ocean lateral boundary conditions (online interpolation case) 41 41 42 42 IMPLICIT NONE … … 356 356 INTEGER :: idvar ! variable ID 357 357 INTEGER :: idmspc ! number of spatial dimensions 358 LOGICAL :: lmoor ! C1D case: point data359 358 REAL(wp), DIMENSION(:,:,:), POINTER :: dta_alias ! short cut 360 359 !!--------------------------------------------------------------------- … … 374 373 CALL lbc_lnk( 'fldread', dta_alias(:,:,:), sdjf%cltype, sdjf%zsgn, kfillmode = jpfillcopy ) 375 374 ELSE ! default case 376 ! C1D case: If product of spatial dimensions == ipk, then x,y are of377 ! size 1 (point/mooring data): this must be read onto the central grid point378 375 idvar = iom_varid( sdjf%num, sdjf%clvar ) 379 376 idmspc = iom_file ( sdjf%num )%ndims( idvar ) 380 377 IF( iom_file( sdjf%num )%luld( idvar ) ) idmspc = idmspc - 1 ! id of the last spatial dimension 381 lmoor = ( idmspc == 0 .OR. PRODUCT( iom_file( sdjf%num )%dimsz( 1:MAX(idmspc,1) ,idvar ) ) == ipk ) 382 ! 383 IF( lk_c1d .AND. lmoor ) THEN 384 CALL iom_get( sdjf%num, jpdom_unknown, sdjf%clvar, dta_alias(2,2,:), sdjf%nrec(1,iaa) ) ! jpdom_unknown -> no lbc_lnk 385 CALL lbc_lnk( 'fldread', dta_alias(:,:,:), 'T', 1., kfillmode = jpfillcopy ) 386 ELSE 387 CALL iom_get( sdjf%num, jpdom_global, sdjf%clvar, dta_alias(:,:,:), sdjf%nrec(1,iaa), & 388 & sdjf%cltype, sdjf%zsgn, kfill = jpfillcopy ) 389 ENDIF 378 CALL iom_get( sdjf%num, jpdom_global, sdjf%clvar, dta_alias(:,:,:), sdjf%nrec(1,iaa), & 379 & sdjf%cltype, sdjf%zsgn, kfill = jpfillcopy ) 390 380 ENDIF 391 381 ! -
NEMO/trunk/src/OCE/TRA/tradmp.F90
r14982 r15023 24 24 USE oce ! ocean: variables 25 25 USE dom_oce ! ocean: domain variables 26 USE c1d ! 1D vertical configuration27 26 USE trd_oce ! trends: ocean variables 28 27 USE trdtra ! trends manager: tracers -
NEMO/trunk/src/OCE/nemogcm.F90
r14834 r15023 59 59 USE dia25h , ONLY : dia_25h_init ! 25h mean output (initialisation) 60 60 USE c1d ! 1D configuration 61 USE step_c1d ! Time stepping loop for the 1D configuration62 61 #if defined key_top 63 62 USE trcini ! passive tracer initialisation … … 143 142 ! 144 143 istp = nit000 145 !146 #if defined key_c1d147 DO WHILE ( istp <= nitend .AND. nstop == 0 ) !== C1D time-stepping ==!148 CALL stp_c1d( istp )149 istp = istp + 1150 END DO151 #else152 144 ! 153 145 # if defined key_agrif … … 204 196 ! 205 197 # endif 206 !207 #endif208 198 ! 209 199 IF( ln_diaobs ) CALL dia_obs_wri … … 417 407 CALL phy_cst ! Physical constants 418 408 CALL eos_init ! Equation of state 419 IF( lk_c1d ) CALL c1d_init ! 1D column configuration420 409 CALL wad_init ! Wetting and drying options 421 410 … … 469 458 470 459 ! ! Dynamics 471 IF( l k_c1d ) CALL dyn_dmp_init ! internal momentum damping460 IF( ln_c1d ) CALL dyn_dmp_init ! internal momentum damping 472 461 CALL dyn_adv_init ! advection (vector or flux form) 473 462 CALL dyn_vor_init ! vorticity term including Coriolis -
NEMO/trunk/src/OCE/step_oce.F90
r14239 r15023 44 44 USE dynspg ! surface pressure gradient (dyn_spg routine) 45 45 USE dynatf ! time-filtering (dyn_atf routine) 46 USE dyndmp ! current damping (dyn_dmp routine) 46 47 47 48 USE traqsr ! solar radiation penetration (tra_qsr routine) -
NEMO/trunk/src/OCE/stpctl.F90
r14433 r15023 18 18 USE oce ! ocean dynamics and tracers variables 19 19 USE dom_oce ! ocean space and time domain variables 20 USE c1d ! 1D vertical configuration21 20 USE zdf_oce , ONLY : ln_zad_Aimp ! ocean vertical physics variables 22 21 USE wet_dry, ONLY : ll_wd, ssh_ref ! reference depth for negative bathy -
NEMO/trunk/src/OCE/stpmlf.F90
r15005 r15023 233 233 vv(:,:,:,Nrhs) = 0._wp 234 234 235 IF( ln_dyndmp .AND. ln_c1d ) CALL dyn_dmp( kstp, Nbb, Nnn, uu(:,:,:,Nrhs), vv(:,:,:,Nrhs), Nrhs ) ! internal damping trends- momentum 236 235 237 IF( ln_tile ) CALL dom_tile_start ! [tiling] DYN tiling loop (1) 236 238 DO jtile = 1, nijtile
Note: See TracChangeset
for help on using the changeset viewer.