Changeset 15613
- Timestamp:
- 2021-12-22T10:35:54+01:00 (2 years ago)
- Location:
- NEMO/releases/r4.0/r4.0-HEAD
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/releases/r4.0/r4.0-HEAD/cfgs/SHARED/namelist_top_ref
r13255 r15613 100 100 / 101 101 !----------------------------------------------------------------------- 102 &namtrc_opt ! Optical 103 !----------------------------------------------------------------------- 104 ln_trcdc2dm = .false. ! Diurnal cycle for TOP 105 / 106 !----------------------------------------------------------------------- 102 107 &namtrc_dmp ! passive tracer newtonian damping (ln_trcdmp=T) 103 108 !----------------------------------------------------------------------- -
NEMO/releases/r4.0/r4.0-HEAD/src/OCE/SBC/sbcblk.F90
r14719 r15613 40 40 USE fldread ! read input fields 41 41 USE sbc_oce ! Surface boundary condition: ocean fields 42 USE trc_oce ! share SMS/Ocean variables 42 43 USE cyclone ! Cyclone 10m wind form trac of cyclone centres 43 44 USE sbcdcy ! surface boundary condition: diurnal cycle … … 441 442 ELSE ; qsr(:,:) = zztmp * sf(jp_qsr)%fnow(:,:,1) * tmask(:,:,1) 442 443 ENDIF 444 445 #if defined key_top 446 IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP 447 IF( ln_dm2dc ) THEN ; qsr_mean(:,:) = zztmp * sf(jp_qsr)%fnow(:,:,1) * tmask(:,:,1) 448 ELSE ; ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP 449 ENDIF 450 ENDIF 451 #endif 443 452 444 453 zqlw(:,:) = ( sf(jp_qlw)%fnow(:,:,1) - Stef * zst(:,:)*zst(:,:)*zst(:,:)*zst(:,:) ) * tmask(:,:,1) ! Long Wave -
NEMO/releases/r4.0/r4.0-HEAD/src/OCE/SBC/sbccpl.F90
r14717 r15613 1153 1153 IF( ln_dm2dc .AND. ncpl_qsr_freq /= 86400 ) & 1154 1154 & CALL ctl_stop( 'sbc_cpl_rcv: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) 1155 ncpl_qsr_freq = 86400 / ncpl_qsr_freq ! used by top1156 1155 ENDIF 1157 1156 ! -
NEMO/releases/r4.0/r4.0-HEAD/src/OCE/SBC/sbcflx.F90
r13484 r15613 15 15 USE dom_oce ! ocean space and time domain 16 16 USE sbc_oce ! surface boundary condition: ocean fields 17 USE trc_oce ! share SMS/Ocean variables 17 18 USE sbcdcy ! surface boundary condition: diurnal cycle on qsr 18 19 USE phycst ! physical constants … … 132 133 ELSE ; qsr(:,:) = sf(jp_qsr)%fnow(:,:,1) * tmask(:,:,1) 133 134 ENDIF 135 #if defined key_top 136 IF( ln_trcdc2dm ) THEN ! diurnal cycle in TOP 137 IF( ln_dm2dc ) THEN ; qsr_mean(:,:) = sf(jp_qsr)%fnow(:,:,1) * tmask(:,:,1) 138 ELSE ; ncpl_qsr_freq = sf(jp_qsr)%freqh * 3600 ! qsr_mean will be computed in TOP 139 ENDIF 140 ENDIF 141 #endif 134 142 DO jj = 1, jpj ! set the ocean fluxes from read fields 135 143 DO ji = 1, jpi -
NEMO/releases/r4.0/r4.0-HEAD/src/OCE/trc_oce.F90
r10068 r15613 28 28 INTEGER , PUBLIC :: nn_dttrc !: frequency of step on passive tracers 29 29 REAL(wp), PUBLIC :: r_si2 !: largest depth of extinction (blue & 0.01 mg.m-3) (RGB) 30 LOGICAL , PUBLIC :: ln_trcdc2dm !: Diurnal cycle for TOP 30 31 ! 31 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: etot3 !: light absortion coefficient 32 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: oce_co2 !: ocean carbon flux 32 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: etot3 !: light absortion coefficient 33 REAL(wp), PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: oce_co2 !: ocean carbon flux 34 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsr_mean !: daily mean qsr 33 35 34 36 #if defined key_top … … 54 56 !! *** trc_oce_alloc *** 55 57 !!---------------------------------------------------------------------- 56 ALLOCATE( etot3(jpi,jpj,jpk), oce_co2(jpi,jpj), STAT=trc_oce_alloc )58 ALLOCATE( etot3(jpi,jpj,jpk), oce_co2(jpi,jpj), qsr_mean(jpi,jpj), STAT=trc_oce_alloc ) 57 59 IF( trc_oce_alloc /= 0 ) CALL ctl_warn('trc_oce_alloc: failed to allocate etot3 array') 58 60 ! -
NEMO/releases/r4.0/r4.0-HEAD/src/OFF/dtadyn.F90
r11536 r15613 410 410 IF(lwp) WRITE(numout,*) ' max depht of runoff : ', hrnf_max,' max level : ', nkrnf_max 411 411 IF(lwp) WRITE(numout,*) ' ' 412 ! 413 ncpl_qsr_freq = sf_dyn(jf_qsr)%freqh * 3600 ! Get qsr frequency ( needed if diurnal cycle in TOP ) 412 414 ! 413 415 CALL dta_dyn( nit000 ) -
NEMO/releases/r4.0/r4.0-HEAD/src/TOP/PISCES/P4Z/p4zopt.F90
r14214 r15613 96 96 ! !* Photosynthetically Available Radiation (PAR) 97 97 ! ! -------------------------------------- 98 IF( l _trcdm2dc) THEN ! diurnal cycle98 IF( ln_trcdc2dm ) THEN ! diurnal cycle 99 99 ! 100 100 zqsr_corr(:,:) = qsr_mean(:,:) / ( 1.-fr_i(:,:) + rtrn ) -
NEMO/releases/r4.0/r4.0-HEAD/src/TOP/trc.F90
r14588 r15613 49 49 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrui !: hor. gradient at u-points at top ocean level 50 50 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: gtrvi !: hor. gradient at v-points at top ocean level 51 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsr_mean !: daily mean qsr52 51 53 52 !! passive tracers (input and output) … … 153 152 & trc_ice_ratio(jptra) , trc_ice_prescr(jptra) , cn_trc_o(jptra) , & 154 153 & sbc_trc_b(jpi,jpj,jptra), sbc_trc(jpi,jpj,jptra) , & 155 & cvol(jpi,jpj,jpk) , trai(jptra) , qsr_mean(jpi,jpj), &154 & cvol(jpi,jpj,jpk) , trai(jptra) , & 156 155 & ctrcnm(jptra) , ctrcln(jptra) , ctrcun(jptra) , & 157 156 & ln_trc_ini(jptra) , & -
NEMO/releases/r4.0/r4.0-HEAD/src/TOP/trcnam.F90
r11536 r15613 85 85 WRITE(numout,*) ' ==>>> Passive Tracer time step rdttrc = nn_dttrc*rdt = ', rdttrc 86 86 ENDIF 87 ! 88 CALL trc_nam_opt ! Optical 87 89 ! 88 90 IF( l_trdtrc ) CALL trc_nam_trd ! Passive tracer trends … … 236 238 END SUBROUTINE trc_nam_trc 237 239 240 SUBROUTINE trc_nam_opt 241 !!--------------------------------------------------------------------- 242 !! *** ROUTINE trc_nam_opt *** 243 !! 244 !! ** Purpose : read options for the passive tracer diagnostics 245 !! 246 !!--------------------------------------------------------------------- 247 INTEGER :: ios, ierr ! Local integer 248 !! 249 NAMELIST/namtrc_opt/ ln_trcdc2dm 250 !!--------------------------------------------------------------------- 251 ! 252 IF(lwp) WRITE(numout,*) 253 IF(lwp) WRITE(numout,*) 'trc_nam_opt : read the passive tracer optical options' 254 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 255 ! 256 ! 257 REWIND( numnat_ref ) ! Namelist namtrc_opt in reference namelist : Passive tracer trends 258 READ ( numnat_ref, namtrc_opt, IOSTAT = ios, ERR = 905) 259 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_opt in reference namelist' ) 260 REWIND( numnat_cfg ) ! Namelist namtrc_trd in configuration namelist : Passive tracer trends 261 READ ( numnat_cfg, namtrc_opt, IOSTAT = ios, ERR = 906 ) 262 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_opt in configuration namelist' ) 263 IF(lwm) WRITE( numont, namtrc_opt ) 264 265 IF(lwp) THEN 266 WRITE(numout,*) ' Namelist : namtrc_opt ' 267 WRITE(numout,*) ' Diurnal cycle for TOP ln_trcdc2dm = ', ln_trcdc2dm 268 ENDIF 269 270 END SUBROUTINE trc_nam_opt 271 238 272 239 273 SUBROUTINE trc_nam_trd -
NEMO/releases/r4.0/r4.0-HEAD/src/TOP/trcstp.F90
r13323 r15613 134 134 ! 135 135 ! Define logical parameter ton control dirunal cycle in TOP 136 l_trcdm2dc = ln_dm2dc .OR. ( ln_cpl .AND. ncpl_qsr_freq /= 1 ) 137 l_trcdm2dc = l_trcdm2dc .AND. .NOT. l_offline 136 l_trcdm2dc = ( ln_trcdc2dm .AND. .NOT. ln_dm2dc ) 138 137 IF( l_trcdm2dc .AND. lwp ) CALL ctl_warn( 'Coupling with passive tracers and used of diurnal cycle.', & 139 138 & 'Computation of a daily mean shortwave for some biogeochemical models ' ) … … 165 164 ! 166 165 IF( kt == nittrc000 ) THEN 167 IF( ln_cpl ) THEN 168 rdt_sampl = rday / ncpl_qsr_freq 169 nb_rec_per_day = ncpl_qsr_freq 170 ELSE 171 rdt_sampl = MAX( 3600., rdttrc ) 172 nb_rec_per_day = INT( rday / rdt_sampl ) 173 ENDIF 166 rdt_sampl = REAL( ncpl_qsr_freq ) 167 nb_rec_per_day = INT( rday / ncpl_qsr_freq ) 174 168 ! 175 169 IF(lwp) THEN
Note: See TracChangeset
for help on using the changeset viewer.