Changeset 11404
- Timestamp:
- 2019-08-06T11:15:02+02:00 (5 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/CONFIG/SHARED/field_def.xml
r8308 r11404 125 125 <field id="Age" long_name="Sea Water Age Since Surface contact" standard_name="sea_water_age_since_surface_contact" unit="yr" grid_ref="grid_T_3D" /> 126 126 <field id="Age_e3t" long_name="Age * e3t" unit="yr * m" > Age * e3t </field > 127 128 <!-- variables available with ln_stopack set to .true. --> 129 <field id="sppt_ran" long_name="Random field for SPPT" standard_name="sppt_random_field" unit="0-1" /> 130 <field id="skeb_ran" long_name="Random field for SKEB" standard_name="skeb_random_field" unit="0-1" /> 131 <field id="spp_ran" long_name="Random field for SPP" standard_name="spp_random_field" unit="0-1" /> 132 <field id="sppt_ar1" long_name="Perturbation field for SPPT" standard_name="sppt_perturb_field" unit="0-1" grid_ref="grid_T_3D"/> 133 <field id="spp_ar1" long_name="Perturbation field for SPP" standard_name="spp_perturb_field" unit="0-1" /> 134 <field id="skeb_ar1" long_name="Perturbation field for SKEB" standard_name="skeb_perturb_field" unit="0-1" /> 135 136 <!-- The following ones only when ln_stopack_diags is TRUE --> 137 138 <field id="spp_par01" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 139 <field id="spp_par02" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 140 <field id="spp_par03" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 141 <field id="spp_par04" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 142 <field id="spp_par05" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 143 <field id="spp_par06" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 144 <field id="spp_par07" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 145 <field id="spp_par08" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 146 <field id="spp_par09" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 147 <field id="spp_par10" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 148 <field id="spp_par11" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 149 <field id="spp_par12" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 150 <field id="spp_par13" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 151 <field id="spp_par14" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 152 <field id="spp_par15" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 153 <field id="spp_par16" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 154 <field id="spp_par17" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 155 <field id="spp_par18" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 156 <field id="spp_par19" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 157 <field id="spp_par20" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 158 <field id="spp_par21" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 159 <field id="spp_par22" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 160 <field id="spp_par23" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 161 <field id="spp_par24" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 162 <field id="spp_par25" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 163 <field id="spp_par26" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 164 <field id="spp_par27" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 165 <field id="spp_par28" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 166 <field id="spp_par29" long_name="Sample parameter SPP" standard_name="spp_pert_paramter" unit="0-1" /> 167 168 <field id="ustar_skeb" long_name="Sea Water X Velocity Perturbation" standard_name="sea_water_x_velocity" unit="m/s" grid_ref="grid_U_3D" /> 169 <field id="vstar_skeb" long_name="Sea Water Y Velocity Perturbation" standard_name="sea_water_y_velocity" unit="m/s" grid_ref="grid_V_3D" /> 170 127 171 </field_group> 128 172 -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf.F90
r11394 r11404 77 77 78 78 #if defined key_dynldf_c3d 79 IF( kt .eq. nit000 .and. (nn_spp_ahm1+nn_spp_ahm2) .gt. 0 ) THEN 79 IF( kt == nit000 .AND. ln_stopack .AND. & 80 & ( (nn_spp_ahm1+nn_spp_ahm2) > 0 ) ) THEN 80 81 ALLOCATE ( ahm10(jpi,jpj,jpk), ahm20(jpi,jpj,jpk) ) 81 82 ALLOCATE ( ahm30(jpi,jpj,jpk), ahm40(jpi,jpj,jpk) ) … … 87 88 #endif 88 89 #if defined key_dynldf_c2d 89 IF( kt .eq. nit000 .and. (nn_spp_ahm1+nn_spp_ahm2) .gt. 0 ) THEN 90 IF( kt == nit000 .AND. ln_stopack .AND. & 91 & ( (nn_spp_ahm1+nn_spp_ahm2) > 0 ) ) THEN 90 92 ALLOCATE ( ahm10(jpi,jpj), ahm20(jpi,jpj) ) 91 93 ALLOCATE ( ahm30(jpi,jpj), ahm40(jpi,jpj) ) … … 98 100 99 101 #if defined key_traldf_c3d || defined key_traldf_c2d 100 IF( nn_spp_ahm1 .GT. 0) THEN 101 IF( ln_dynldf_lap ) THEN 102 ahm1 = ahm10 103 CALL spp_ahm(kt,ahm1,nn_spp_ahm1,rn_ahm1_sd,jk_spp_ahm1) 104 ENDIF 105 IF( ln_dynldf_bilap ) THEN 106 ahm3 = ahm30 107 CALL spp_ahm(kt,ahm3,nn_spp_ahm1,rn_ahm1_sd,jk_spp_ahm3) 108 ENDIF 109 ENDIF 110 IF( nn_spp_ahm2 .GT. 0) THEN 111 IF( ln_dynldf_lap ) THEN 112 ahm2 = ahm20 113 CALL spp_ahm(kt,ahm2,nn_spp_ahm2,rn_ahm2_sd,jk_spp_ahm2) 114 ENDIF 115 IF( ln_dynldf_bilap ) THEN 116 ahm4 = ahm40 117 CALL spp_ahm(kt,ahm4,nn_spp_ahm2,rn_ahm2_sd,jk_spp_ahm4) 118 ENDIF 102 IF( ln_stopack ) THEN 103 IF( nn_spp_ahm1 > 0 ) THEN 104 IF( ln_dynldf_lap ) THEN 105 ahm1 = ahm10 106 CALL spp_ahm(kt,ahm1,nn_spp_ahm1,rn_ahm1_sd,jk_spp_ahm1) 107 ENDIF 108 IF( ln_dynldf_bilap ) THEN 109 ahm3 = ahm30 110 CALL spp_ahm(kt,ahm3,nn_spp_ahm1,rn_ahm1_sd,jk_spp_ahm3) 111 ENDIF 112 ENDIF 113 IF( nn_spp_ahm2 > 0 ) THEN 114 IF( ln_dynldf_lap ) THEN 115 ahm2 = ahm20 116 CALL spp_ahm(kt,ahm2,nn_spp_ahm2,rn_ahm2_sd,jk_spp_ahm2) 117 ENDIF 118 IF( ln_dynldf_bilap ) THEN 119 ahm4 = ahm40 120 CALL spp_ahm(kt,ahm4,nn_spp_ahm2,rn_ahm2_sd,jk_spp_ahm4) 121 ENDIF 122 ENDIF 119 123 ENDIF 120 124 #endif -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90
r11394 r11404 156 156 END DO 157 157 158 IF ( nn_spp_icealb > 0 ) CALL spp_gen( 1, pa_ice_cs(:,:,jl), nn_spp_icealb, rn_icealb_sd, jk_spp_alb, jl ) 158 IF ( ln_stopack .AND. nn_spp_icealb > 0 ) & 159 & CALL spp_gen( 1, pa_ice_cs(:,:,jl), nn_spp_icealb, rn_icealb_sd, jk_spp_alb, jl ) 159 160 160 161 END DO … … 214 215 END DO 215 216 216 IF ( nn_spp_icealb > 0 ) CALL spp_gen( 1, pa_ice_os(:,:,jl), nn_spp_icealb, rn_icealb_sd, jk_spp_alb, jl ) 217 IF ( ln_stopack .AND. nn_spp_icealb > 0 ) & 218 & CALL spp_gen( 1, pa_ice_os(:,:,jl), nn_spp_icealb, rn_icealb_sd, jk_spp_alb, jl ) 217 219 218 220 END DO -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r11394 r11404 205 205 ENDIF 206 206 207 IF( nn_spp_relw > 0 ) THEN208 rn_vfac0 = rn_vfac207 IF( ln_stopack .AND. nn_spp_relw > 0 ) THEN 208 rn_vfac0(:,:) = rn_vfac 209 209 CALL spp_gen(kt, rn_vfac0, nn_spp_relw, rn_relw_sd, jk_spp_relw ) 210 210 ENDIF … … 661 661 DO jl = 1, jpl 662 662 qevap_ice(:,:,jl) = 0._wp ! should be -evap_ice(:,:,jl)*( ( Tice - rt0 ) * cpic * tmask(:,:,1) ) 663 ! But we do not have Tice => consider it at 0 °C => evap=0663 ! But we do not have Tice => consider it at 0 degC => evap=0 664 664 END DO 665 665 -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90
r11394 r11404 99 99 100 100 CALL wrk_alloc( jpi, jpj, rn_dqdt_s) 101 rn_dqdt_s=rn_dqdt 102 103 IF( nn_spp_dqdt > 0 ) CALL spp_gen(kt, rn_dqdt_s,nn_spp_dqdt,rn_dqdt_sd,jk_spp_dqdt ) 101 rn_dqdt_s(:,:) = rn_dqdt 102 103 IF( ln_stopack .AND. nn_spp_dqdt > 0 ) & 104 & CALL spp_gen(kt, rn_dqdt_s,nn_spp_dqdt,rn_dqdt_sd,jk_spp_dqdt ) 104 105 DO jj = 1, jpj 105 106 DO ji = 1, jpi … … 115 116 IF( nn_sssr == 1 ) THEN !* Salinity damping term (salt flux only (sfx)) 116 117 CALL wrk_alloc( jpi, jpj, zsrp) 117 zsrp = rn_deds 118 IF( nn_spp_dedt > 0 ) CALL spp_gen(kt, zsrp, nn_spp_dedt, rn_dedt_sd, jk_spp_deds ) 118 zsrp(:,:) = rn_deds 119 IF( ln_stopack .AND. nn_spp_dedt > 0 ) & 120 & CALL spp_gen(kt, zsrp, nn_spp_dedt, rn_dedt_sd, jk_spp_deds ) 119 121 !CDIR COLLAPSE 120 122 DO jj = 1, jpj … … 131 133 ELSEIF( nn_sssr == 2 ) THEN !* Salinity damping term (volume flux (emp) and associated heat flux (qns) 132 134 CALL wrk_alloc( jpi, jpj, zsrp) 133 zsrp = rn_deds 134 IF( nn_spp_dedt > 0 ) CALL spp_gen(kt, zsrp, nn_spp_dedt, rn_dedt_sd, jk_spp_deds ) 135 zsrp(:,:) = rn_deds 136 IF( ln_stopack .AND. nn_spp_dedt > 0 ) & 137 & CALL spp_gen(kt, zsrp, nn_spp_dedt, rn_dedt_sd, jk_spp_deds ) 135 138 zerp_bnd = rn_sssr_bnd / rday ! - - 136 139 !CDIR COLLAPSE -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/STO/stopack.F90
r11394 r11404 2247 2247 CALL lbc_lnk(dpsiu,'T',1._wp) 2248 2248 #ifdef key_iomput 2249 CALL iom_put( "bsft" , dpsiu )2249 !CALL iom_put( "bsft" , dpsiu ) 2250 2250 #endif 2251 2251 ENDIF … … 2253 2253 CALL lbc_lnk(dpsiv,'T',1._wp) 2254 2254 #ifdef key_iomput 2255 CALL iom_put( "bsftv" , dpsiv )2255 !CALL iom_put( "bsftv" , dpsiv ) 2256 2256 #endif 2257 2257 ENDIF -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90
r11394 r11404 92 92 ! ! Add the geothermal heat flux trend on temperature 93 93 94 IF( nn_spp_geot .GT.0) THEN95 qgh_trd1 = qgh_trd096 CALL spp_gen(kt, qgh_trd 0, nn_spp_geot, rn_geot_sd, jk_spp_geot)94 IF( ln_stopack .AND. nn_spp_geot > 0) THEN 95 qgh_trd1(:,:) = qgh_trd0(:,:) 96 CALL spp_gen(kt, qgh_trd1, nn_spp_geot, rn_geot_sd, jk_spp_geot) 97 97 ENDIF 98 98 DO jj = 2, jpjm1 … … 200 200 ! 201 201 END SELECT 202 qgh_trd1 = qgh_trd0202 qgh_trd1(:,:) = qgh_trd0(:,:) 203 203 ! 204 204 ELSE -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90
r11394 r11404 198 198 ALLOCATE(zptb(1:jpi, 1:jpj)) 199 199 ! 200 ahu_bbl_1 = ahu_bbl201 IF( nn_spp_ahubbl .GT.0 ) THEN200 ahu_bbl_1(:,:) = ahu_bbl(:,:) 201 IF( ln_stopack .AND. nn_spp_ahubbl > 0 ) THEN 202 202 CALL spp_gen(1 , ahu_bbl_1, nn_spp_ahubbl, rn_ahubbl_sd, jk_spp_ahubbl ) 203 203 ENDIF 204 ahv_bbl_1 = ahv_bbl205 IF( nn_spp_ahvbbl .GT.0 ) THEN204 ahv_bbl_1(:,:) = ahv_bbl(:,:) 205 IF( ln_stopack .AND. nn_spp_ahvbbl > 0 ) THEN 206 206 CALL spp_gen(1 , ahv_bbl_1, nn_spp_ahvbbl, rn_ahvbbl_sd, jk_spp_ahvbbl ) 207 207 ENDIF -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90
r11394 r11404 84 84 85 85 #if defined key_traldf_c3d 86 IF( kt .eq. nit000 .and. (nn_spp_ahtu+nn_spp_ahtv+nn_spp_ahtw+nn_spp_ahtt) .gt. 0 ) THEN 86 IF( ( kt == nit000 ) .AND. & 87 & ln_stopack .AND. & 88 & (nn_spp_ahtu+nn_spp_ahtv+nn_spp_ahtw+nn_spp_ahtt) > 0 ) THEN 87 89 ALLOCATE ( ahtu0(jpi,jpj,jpk), ahtv0(jpi,jpj,jpk) ) 88 90 ALLOCATE ( ahtt0(jpi,jpj,jpk), ahtw0(jpi,jpj,jpk) ) … … 94 96 #endif 95 97 #if defined key_traldf_c2d 96 IF( kt .eq. nit000 .and. (nn_spp_ahtu+nn_spp_ahtv+nn_spp_ahtw+nn_spp_ahtt) .gt. 0 ) THEN 98 IF( ( kt == nit000 ) .AND. & 99 & ln_stopack .AND. & 100 & (nn_spp_ahtu+nn_spp_ahtv+nn_spp_ahtw+nn_spp_ahtt) > 0 ) THEN 97 101 ALLOCATE ( ahtu0(jpi,jpj), ahtv0(jpi,jpj) ) 98 102 ALLOCATE ( ahtt0(jpi,jpj), ahtw0(jpi,jpj) ) … … 104 108 #endif 105 109 #if defined key_traldf_c3d || defined key_traldf_c2d 106 IF( nn_spp_ahtu .GT. 0) THEN110 IF( ln_stopack .AND. ( nn_spp_ahtu > 0 ) ) THEN 107 111 ahtu = ahtu0 108 112 CALL spp_aht(kt,ahtu,nn_spp_ahtu,rn_ahtu_sd,jk_spp_ahtu) 109 113 ENDIF 110 IF( nn_spp_ahtv .GT. 0) THEN114 IF( ln_stopack .AND. ( nn_spp_ahtv > 0 ) ) THEN 111 115 ahtv = ahtv0 112 116 CALL spp_aht(kt,ahtv,nn_spp_ahtv,rn_ahtv_sd,jk_spp_ahtv) 113 117 ENDIF 114 IF( nn_spp_ahtw .GT. 0) THEN118 IF( ln_stopack .AND. ( nn_spp_ahtw > 0 ) ) THEN 115 119 ahtw = ahtw0 116 120 CALL spp_aht(kt,ahtw,nn_spp_ahtw,rn_ahtw_sd,jk_spp_ahtw) 117 121 ENDIF 118 IF( nn_spp_ahtt .GT. 0) THEN122 IF( ln_stopack .AND. ( nn_spp_ahtt > 0 ) ) THEN 119 123 ahtt = ahtt0 120 124 CALL spp_aht(kt,ahtt,nn_spp_ahtt,rn_ahtt_sd,jk_spp_ahtt) -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r11400 r11404 184 184 ! 185 185 ! 186 IF( nn_spp_qsi0 > 0) THEN186 IF( ln_stopack .AND. ( nn_spp_qsi0 > 0 ) ) THEN 187 187 xsi0r = rn_si0 188 188 CALL spp_gen(kt, xsi0r, nn_spp_qsi0, rn_qsi0_sd, jk_spp_qsi0 ) … … 317 317 ! ! ------------------------- ! 318 318 ! 319 IF( lk_vvl .OR. nn_spp_qsi0 > 0) THEN !* variable volume319 IF( lk_vvl .OR. ( ln_stopack .AND. ( nn_spp_qsi0 > 0 ) ) ) THEN !* variable volume 320 320 321 321 zz0 = rn_abs * r1_rau0_rcp -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/TRD/trddyn.F90
r11394 r11404 69 69 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 70 70 IF( ln_dyn_trd ) CALL trd_dyn_iom( putrd, pvtrd, ktrd, kt ) 71 IF( ln_dyn_trd .AND. ln_sppt_dyn ) CALL dyn_sppt_collect( putrd, pvtrd, ktrd, kt ) 71 IF( ln_dyn_trd .AND. ln_stopack .AND. ln_sppt_dyn ) & 72 & CALL dyn_sppt_collect( putrd, pvtrd, ktrd, kt ) 72 73 73 74 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90
r11394 r11404 250 250 ! ! 3D output of tracers trends using IOM interface 251 251 IF( ln_tra_trd ) CALL trd_tra_iom ( ptrdx, ptrdy, ktrd, kt ) 252 IF( ln_tra_trd .AND. ln_sppt_tra ) CALL tra_sppt_collect( ptrdx, ptrdy, ktrd, kt ) 252 IF( ln_tra_trd .AND. ln_stopack .AND. ln_sppt_tra ) & 253 & CALL tra_sppt_collect( ptrdx, ptrdy, ktrd, kt ) 253 254 254 255 ! Integral Constraints Properties for tracers trends !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r11394 r11404 108 108 ENDIF 109 109 ! 110 IF( nn_spp_bfr > 0) THEN110 IF( ln_stopack .AND. ( nn_spp_bfr > 0 ) ) THEN 111 111 bfrcoef2d = bfrcoef2d0 112 112 CALL spp_gen(kt, bfrcoef2d, nn_spp_bfr, rn_bfr_sd, jk_spp_bfr) -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90
r11394 r11404 77 77 zavt_evd(:,:,:) = avt(:,:,:) ! set avt prior to evd application 78 78 79 IF( nn_spp_aevd.GT.0) THEN79 IF( ln_stopack .AND. ( nn_spp_aevd > 0 ) ) THEN 80 80 rn_avevd0(:,:) = rn_avevd 81 81 CALL spp_gen(kt, rn_avevd0, nn_spp_aevd, rn_aevd_sd, jk_spp_aevd) -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r11394 r11404 807 807 END DO 808 808 END DO 809 IF(nn_spp_avt > 0 ) CALL spp_gen(kt,avt(:,:,jk),nn_spp_avt,rn_avt_sd,jk) 810 IF(nn_spp_avm > 0 ) CALL spp_gen(kt,avm(:,:,jk),nn_spp_avm,rn_avm_sd,jk) 809 IF( ln_stopack) THEN 810 IF( nn_spp_avt > 0 ) CALL spp_gen(kt,avt(:,:,jk),nn_spp_avt,rn_avt_sd,jk) 811 IF( nn_spp_avm > 0 ) CALL spp_gen(kt,avm(:,:,jk),nn_spp_avm,rn_avm_sd,jk) 812 ENDIF 811 813 END DO 812 814 ! -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r11400 r11404 186 186 ENDIF 187 187 ! 188 IF( nn_spp_tkelc > 0 ) THEN 189 rn_lc0 = rn_lc 190 CALL spp_gen(kt,rn_lc0,nn_spp_tkelc,rn_tkelc_sd, jk_spp_tkelc ) 191 ENDIF 192 IF( nn_spp_tkedf > 0 ) THEN 193 rn_ediff0 = rn_ediff 194 CALL spp_gen(kt,rn_ediff0,nn_spp_tkedf,rn_tkedf_sd, jk_spp_tkedf ) 195 ENDIF 196 IF( nn_spp_tkeds > 0 ) THEN 197 rn_ediss0 = rn_ediss 198 CALL spp_gen(kt,rn_ediss0,nn_spp_tkeds,rn_tkeds_sd, jk_spp_tkeds ) 199 ENDIF 200 IF( nn_spp_tkebb > 0 ) THEN 201 rn_ebb0 = rn_ebb 202 CALL spp_gen(kt,rn_ebb0,nn_spp_tkebb,rn_tkebb_sd, jk_spp_tkebb ) 203 ENDIF 204 IF( nn_spp_tkefr > 0 ) THEN 205 rn_efr0 = rn_efr 206 CALL spp_gen(kt,rn_efr0,nn_spp_tkefr,rn_tkefr_sd, jk_spp_tkefr ) 188 IF( ln_stopack) THEN 189 IF( nn_spp_tkelc > 0 ) THEN 190 rn_lc0 = rn_lc 191 CALL spp_gen(kt,rn_lc0,nn_spp_tkelc,rn_tkelc_sd, jk_spp_tkelc ) 192 ENDIF 193 IF( nn_spp_tkedf > 0 ) THEN 194 rn_ediff0 = rn_ediff 195 CALL spp_gen(kt,rn_ediff0,nn_spp_tkedf,rn_tkedf_sd, jk_spp_tkedf ) 196 ENDIF 197 IF( nn_spp_tkeds > 0 ) THEN 198 rn_ediss0 = rn_ediss 199 CALL spp_gen(kt,rn_ediss0,nn_spp_tkeds,rn_tkeds_sd, jk_spp_tkeds ) 200 ENDIF 201 IF( nn_spp_tkebb > 0 ) THEN 202 rn_ebb0 = rn_ebb 203 CALL spp_gen(kt,rn_ebb0,nn_spp_tkebb,rn_tkebb_sd, jk_spp_tkebb ) 204 ENDIF 205 IF( nn_spp_tkefr > 0 ) THEN 206 rn_efr0 = rn_efr 207 CALL spp_gen(kt,rn_efr0,nn_spp_tkefr,rn_tkefr_sd, jk_spp_tkefr ) 208 ENDIF 207 209 ENDIF 208 210 ! … … 736 738 END DO 737 739 END DO 738 IF(nn_spp_avt > 0 ) CALL spp_gen(1 ,avt(:,:,jk),nn_spp_avt,rn_avt_sd, jk_spp_avt, jk) 739 IF(nn_spp_avm > 0 ) CALL spp_gen(1 ,avm(:,:,jk),nn_spp_avm,rn_avm_sd, jk_spp_avm, jk) 740 IF( ln_stopack) THEN 741 IF(nn_spp_avt > 0 ) CALL spp_gen(1 ,avt(:,:,jk),nn_spp_avt,rn_avt_sd, jk_spp_avt, jk) 742 IF(nn_spp_avm > 0 ) CALL spp_gen(1 ,avm(:,:,jk),nn_spp_avm,rn_avm_sd, jk_spp_avm, jk) 743 ENDIF 740 744 END DO 741 745 CALL lbc_lnk( avm, 'W', 1. ) ! Lateral boundary conditions (sign unchanged) -
branches/UKMO/dev_r5518_GO6_package_FOAMv14_STOPACK/NEMOGCM/NEMO/OPA_SRC/step.F90
r11394 r11404 127 127 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 128 128 129 IF( ln_sto_eos ) CALL sto_par( kstp )! Stochastic parameters130 IF( ln_sto_eos ) CALL sto_pts( tsn )! Random T/S fluctuations131 IF( ln_s keb ) CALL skeb_comp( kstp )129 IF( ln_sto_eos ) CALL sto_par( kstp ) ! Stochastic parameters 130 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations 131 IF( ln_stopack .AND. ln_skeb ) CALL skeb_comp( kstp ) ! Stochastic Energy Backscatter 132 132 133 133 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 153 153 ENDIF 154 154 IF( ln_rnf_mouth ) THEN ! increase diffusivity at rivers mouths 155 IF ( nn_spp_arnf .GT. 0) THEN155 IF ( ln_stopack .AND. ( nn_spp_arnf > 0 ) ) THEN 156 156 rn_avt_rnf0 = rn_avt_rnf 157 157 CALL spp_gen( kstp, rn_avt_rnf0,nn_spp_arnf,rn_arnf_sd,jk_spp_arnf ) … … 226 226 IF( lk_asminc .AND. ln_asmiau .AND. & 227 227 & ln_dyninc ) CALL dyn_asm_inc ( kstp ) ! apply dynamics assimilation increment 228 IF( ln_sppt_dyn ) CALL dyn_sppt_apply( kstp, 0 ) 228 IF( ln_stopack .AND. ln_sppt_dyn ) & 229 & CALL dyn_sppt_apply( kstp, 0 ) 229 230 IF( ln_neptsimp ) CALL dyn_nept_cor ( kstp ) ! subtract Neptune velocities (simplified) 230 231 IF( lk_bdy ) CALL bdy_dyn3d_dmp ( kstp ) ! bdy damping trends … … 274 275 tsa(:,:,:,:) = 0.e0 ! set tracer trends to zero 275 276 276 IF( ln_sppt_tra ) CALL tra_sppt_apply ( kstp, 0 ) 277 IF( ln_stopack .AND. ln_sppt_tra ) & 278 & CALL tra_sppt_apply ( kstp, 0 ) 277 279 IF( lk_asminc .AND. ln_asmiau .AND. & 278 280 & ln_trainc ) CALL tra_asm_inc( kstp ) ! apply tracer assimilation increment … … 293 295 IF(.NOT. Agrif_Root()) CALL Agrif_Sponge_tra ! tracers sponge 294 296 #endif 295 IF( ln_sppt_tra ) CALL tra_sppt_apply ( kstp, 1 ) 297 IF( ln_stopack .AND. ln_sppt_tra ) & 298 & CALL tra_sppt_apply ( kstp, 1 ) 296 299 CALL tra_zdf ( kstp ) ! vertical mixing and after tracer fields 297 300 … … 299 302 IF( ln_zdfnpc ) CALL tra_npc( kstp ) ! update after fields by non-penetrative convection 300 303 CALL tra_nxt( kstp ) ! tracer fields at next time step 301 IF( ln_sppt_tra ) CALL tra_sppt_apply ( kstp, 2 ) 304 IF( ln_stopack .AND. ln_sppt_tra ) & 305 & CALL tra_sppt_apply ( kstp, 2 ) 302 306 CALL eos ( tsa, rhd, rhop, fsdept_n(:,:,:) ) ! Time-filtered in situ density for hpg computation 303 307 IF( ln_zps .AND. .NOT. ln_isfcav) & … … 323 327 CALL tra_nxt( kstp ) ! tracer fields at next time step 324 328 IF( ln_bias ) CALL dyn_bias( kstp ) 325 IF( ln_s ppt_tra ) THEN329 IF( ln_stopack .AND. ln_sppt_tra ) THEN 326 330 CALL tra_sppt_apply ( kstp, 2 ) 327 331 CALL eos ( tsn, rhd, rhop, fsdept_n(:,:,:) ) ! now in situ density for hpg computation … … 350 354 351 355 CALL dyn_bfr( kstp ) ! bottom friction 352 IF( ln_sppt_dyn ) CALL dyn_sppt_apply ( kstp, 1 ) 356 IF( ln_stopack .AND. ln_sppt_dyn ) & 357 & CALL dyn_sppt_apply ( kstp, 1 ) 353 358 CALL dyn_zdf( kstp ) ! vertical diffusion 354 359 ELSE … … 358 363 IF( lk_asminc .AND. ln_asmiau .AND. & 359 364 & ln_dyninc ) CALL dyn_asm_inc( kstp ) ! apply dynamics assimilation increment 360 IF( ln_sppt_dyn ) CALL dyn_sppt_apply ( kstp, 0 ) 365 IF( ln_stopack .AND. ln_sppt_dyn ) & 366 & CALL dyn_sppt_apply ( kstp, 0 ) 361 367 IF( ln_bkgwri ) CALL asm_bkg_wri( kstp ) ! output background fields 362 368 IF( ln_neptsimp ) CALL dyn_nept_cor( kstp ) ! subtract Neptune velocities (simplified) … … 371 377 CALL dyn_hpg( kstp ) ! horizontal gradient of Hydrostatic pressure 372 378 CALL dyn_bfr( kstp ) ! bottom friction 373 IF( ln_sppt_dyn ) CALL dyn_sppt_apply ( kstp, 1 ) 379 IF( ln_stopack .AND. ln_sppt_dyn ) & 380 & CALL dyn_sppt_apply ( kstp, 1 ) 374 381 CALL dyn_zdf( kstp ) ! vertical diffusion 375 382 CALL dyn_spg( kstp, indic ) ! surface pressure gradient 376 383 ENDIF 377 384 CALL dyn_nxt( kstp ) ! lateral velocity at next time step 378 IF( ln_sppt_dyn ) CALL dyn_sppt_apply ( kstp, 2 ) 379 IF( ln_skeb ) CALL skeb_apply ( kstp ) 385 IF( ln_stopack .AND. ln_sppt_dyn ) & 386 & CALL dyn_sppt_apply ( kstp, 2 ) 387 IF( ln_stopack .AND. ln_skeb ) & 388 & CALL skeb_apply ( kstp ) 380 389 381 390 CALL ssh_swp( kstp ) ! swap of sea surface height
Note: See TracChangeset
for help on using the changeset viewer.