Changeset 7034 for branches/UKMO/dev_r5518_fa_am_dt_deltadelta_toa/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx_adj.F90
- Timestamp:
- 2016-10-17T18:02:09+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_fa_am_dt_deltadelta_toa/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx_adj.F90
r7031 r7034 32 32 PUBLIC sbc_flx_adj_init ! routine called in sbcmod 33 33 34 !ky 16/10/2016 commented out below two lines 34 35 !ky 06/09/2016 uncommented below two lines for FA test 35 36 !ky 11/12/2015 recommented below two lines 36 37 !!ky 3/12/2015 uncommented below two lines for FA test! 37 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: erp !: evaporation damping [kg/m2/s]38 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qrp !: heat flux damping [w/m2]38 !REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: erp !: evaporation damping [kg/m2/s] 39 !REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qrp !: heat flux damping [w/m2] 39 40 40 41 ! !!* Namelist namsbc_flx_adj * … … 43 44 LOGICAL :: ln_sssr_bnd ! flag to bound erp term 44 45 REAL(wp) :: rn_sssr_bnd ! ABS(Max./Min.) value of erp term [mm/day] 46 REAL(wp) :: delta_toa ! global mean annual mean TOA for FA to perturbed ensemble [W/m2] 47 REAL(wp) :: delta_delta_toa ! perturbation to delta_toa [W/m2] 45 48 46 49 REAL(wp) , ALLOCATABLE, DIMENSION(:) :: buffer ! Temporary buffer for exchange … … 83 86 !!---------------------------------------------------------------------- 84 87 ! 85 !!write(numout,*) '*** In sbcflx_adj ***' 88 write(numout,*) '*** In sbcflx_adj *** delta_toa, delta_delta_toa=', & 89 & delta_toa, delta_delta_toa 86 90 87 91 IF( nn_timing == 1 ) CALL timing_start('sbc_flx_adj') … … 101 105 ! K.Y. 16/03/2016 Apply Arctic mask to heat flux adjustment 102 106 zqrp = ( 1. - 2.*only_arcmsk(ji,jj) ) & 103 & * sf_qrp(1)%fnow(ji,jj,1) 107 & * sf_qrp(1)%fnow(ji,jj,1) & 108 & + delta_toa + delta_delta_toa 109 ! K.Y. 16/10/2016 added "&" to 2 lines above and 110 ! delta_toa, delta_delta_toa to above line 104 111 !zqrp = sf_qrp(1)%fnow(ji,jj,1) 105 112 !ky 07/09/2016 copied 1 line below for FA test … … 108 115 !qrp(ji,jj) = sf_qrp(1)%fnow(ji,jj,1) 109 116 !ky 07/09/2016 copied 1 line above and modified as below for FA test 110 qrp(ji,jj) = zqrp 117 !ky 16/10/2016 commented out 1 line below 118 !qrp(ji,jj) = zqrp 111 119 qns(ji,jj) = qns(ji,jj) + zqrp 112 120 END DO 113 121 END DO 122 !ky 16/10/2016 commented out below 1 line below 114 123 !ky 06/09/2016 uncommented below 1 line below for FA test! 115 124 !ky 11/12/2015 recommented out below 1 line below 116 125 !!ky 3/12/2015 uncommented below 1 line below for FA test! 117 CALL iom_put( "qrp", qrp ) ! heat flux damping126 !CALL iom_put( "qrp", qrp ) ! heat flux damping 118 127 ENDIF 119 128 ! … … 132 141 !!ky 3/12/2015 1 line below for FA test! 133 142 !erp(ji,jj) = sf_erp(1)%fnow(ji,jj,1) 143 !ky 16/10/2016 commented out below two lines 134 144 !ky 06/09/2016 copied line above and changed to below two lines for FA test! 135 erp(ji,jj) = ( 1. - 2.*rnfmsk_arcmsk(ji,jj) ) & ! No damping in vicinity of river mouths136 & * sf_erp(1)%fnow(ji,jj,1)145 !erp(ji,jj) = ( 1. - 2.*rnfmsk_arcmsk(ji,jj) ) & ! No damping in vicinity of river mouths 146 ! & * sf_erp(1)%fnow(ji,jj,1) 137 147 sfx(ji,jj) = sfx(ji,jj) + zerp ! salt flux 138 148 END DO 139 149 END DO 150 !ky 16/10/2016 commented out below one line 140 151 !ky 06/09/2016 uncommented below one line for FA test! 141 152 !ky 11/12/2015 recommented out below one line 142 153 !!ky 3/12/2015 uncommented below one line for FA test! 143 CALL iom_put( "erp", erp ) ! freshwater flux damping154 !CALL iom_put( "erp", erp ) ! freshwater flux damping 144 155 ! 145 156 ELSEIF( nn_flxadjfw == 2 ) THEN !* Salinity damping term (volume flux (emp) and associated heat flux (qns) … … 155 166 !erp(ji,jj) = sf_erp(1)%fnow(ji,jj,1) 156 167 !ky 06/09/2016 copied line above and changed to below line for FA test! 157 erp(ji,jj) = zerp 168 !ky 16/10/2016 commented out below line 169 !erp(ji,jj) = zerp 158 170 emp(ji,jj) = emp (ji,jj) + zerp 159 171 qns(ji,jj) = qns(ji,jj) - zerp * rcp * sst_m(ji,jj) 160 172 END DO 161 173 END DO 174 !ky 16/10/2016 commented out below 1 line 162 175 !ky 06/09/2016 uncommented below 1 line for FA test! 163 176 !ky 11/12/2015 recommented out below 1 line 164 177 !!ky 3/12/2015 uncommented below 1 line for FA test! 165 CALL iom_put( "erp", erp ) ! freshwater flux damping178 !CALL iom_put( "erp", erp ) ! freshwater flux damping 166 179 ENDIF 167 180 ! … … 193 206 TYPE(FLD_N) :: sn_qrp, sn_erp ! informations about the fields to be read 194 207 NAMELIST/namsbc_flx_adj/ cn_dir, nn_flxadjht, nn_flxadjfw, sn_qrp, sn_erp, & 195 & ln_sssr_bnd, rn_sssr_bnd 208 & ln_sssr_bnd, rn_sssr_bnd, delta_toa, delta_delta_toa 196 209 INTEGER :: ios 197 210 !!---------------------------------------------------------------------- … … 219 232 WRITE(numout,*) ' flag to bound erp term ln_sssr_bnd = ', ln_sssr_bnd 220 233 WRITE(numout,*) ' ABS(Max./Min.) erp threshold rn_sssr_bnd = ', rn_sssr_bnd, ' mm/day' 234 WRITE(numout,*) ' global mean, annual mean TOA to supplement FA delta_toa = ', delta_toa, ' W/m2' 235 WRITE(numout,*) ' perturbation to delta_toa = ', delta_delta_toa, ' W/m2' 221 236 ENDIF 222 237 ! 223 238 ! !* Allocate erp and qrp array 239 !ky 16/10/2016 commented out below two lines 224 240 !ky 06/09/2016 uncommented below two lines for FA test! 225 241 !ky 11/12/2015 recommented out below two lines 226 242 !!ky 3/12/2015 uncommented below two lines for FA test! 227 ALLOCATE( qrp(jpi,jpj), erp(jpi,jpj), STAT=ierror )228 IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate erp and qrp array' )243 !ALLOCATE( qrp(jpi,jpj), erp(jpi,jpj), STAT=ierror ) 244 !IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_ssr: unable to allocate erp and qrp array' ) 229 245 ! 230 246 IF( nn_flxadjht == 1 ) THEN !* set sf_qrp structure & allocate arrays … … 257 273 ! 258 274 !ky!! !* Initialize qrp and erp if no restoring 275 !ky 16/10/2016 commented out below two lines 259 276 !ky 06/09/2016 below two lines for FA test! 260 277 !ky 11/12/2015 commented out below two lines 261 278 !!ky 3/12/2015 below two lines for FA test! 262 IF( nn_flxadjht /= 1 ) qrp(:,:) = 0._wp263 IF( nn_flxadjfw /= 1 .OR. nn_flxadjfw /= 2 ) erp(:,:) = 0._wp279 !IF( nn_flxadjht /= 1 ) qrp(:,:) = 0._wp 280 !IF( nn_flxadjfw /= 1 .OR. nn_flxadjfw /= 2 ) erp(:,:) = 0._wp 264 281 !!ky!!IF( nn_sstr /= 1 ) qrp(:,:) = 0._wp 265 282 !!ky!!IF( nn_sssr /= 1 .OR. nn_sssr /= 2 ) erp(:,:) = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.