Changeset 12004 for branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils305/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
- Timestamp:
- 2019-11-28T17:19:40+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils305/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r12003 r12004 1211 1211 ! 1212 1212 IF( srcv(jpr_mslp)%laction ) THEN ! UKMO SHELF effect of atmospheric pressure on SSH 1213 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields 1214 1215 ! !* update the reference atmospheric pressure (if necessary) 1216 IF( ln_ref_apr ) rn_pref = glob_sum( frcv(jpr_mslp)%z3(:,:,1) * e1e2t(:,:) ) / tarea 1213 IF( ln_apr_dyn ) THEN 1214 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields 1215 1216 ! !* update the reference atmospheric pressure (if necessary) 1217 IF( ln_ref_apr ) rn_pref = glob_sum( frcv(jpr_mslp)%z3(:,:,1) * e1e2t(:,:) ) / tarea 1218 1219 ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rn_pref ) * r1_grau ! equivalent ssh (inverse barometer) 1220 apr (:,:) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure 1221 ! 1222 CALL iom_put( "ssh_ib", ssh_ib ) !* output the inverse barometer ssh 1223 1224 ! ! ---------------------------------------- ! 1225 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! 1226 ! ! ---------------------------------------- ! 1227 !* Restart: read in restart file 1228 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 1229 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb read in the restart file' 1230 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb ) ! before inv. barometer ssh 1231 ELSE !* no restart: set from nit000 values 1232 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb set to nit000 values' 1233 ssh_ibb(:,:) = ssh_ib(:,:) 1234 ENDIF 1235 ENDIF 1236 ! ! ---------------------------------------- ! 1237 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 1238 ! ! ---------------------------------------- ! 1239 IF(lwp) WRITE(numout,*) 1240 IF(lwp) WRITE(numout,*) 'sbc_cpl : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 1241 IF(lwp) WRITE(numout,*) '~~~~' 1242 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 1243 ENDIF 1244 ENDIF 1217 1245 1218 ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rn_pref ) * r1_grau ! equivalent ssh (inverse barometer) 1219 apr (:,:) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure 1220 ! 1221 CALL iom_put( "ssh_ib", ssh_ib ) !* output the inverse barometer ssh 1222 1223 ! ! ---------------------------------------- ! 1224 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! 1225 ! ! ---------------------------------------- ! 1226 !* Restart: read in restart file 1227 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 1228 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb read in the restart file' 1229 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb ) ! before inv. barometer ssh 1230 ELSE !* no restart: set from nit000 values 1231 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb set to nit000 values' 1232 ssh_ibb(:,:) = ssh_ib(:,:) 1233 ENDIF 1234 ENDIF 1235 ! ! ---------------------------------------- ! 1236 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 1237 ! ! ---------------------------------------- ! 1238 IF(lwp) WRITE(numout,*) 1239 IF(lwp) WRITE(numout,*) 'sbc_cpl : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 1240 IF(lwp) WRITE(numout,*) '~~~~' 1241 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 1242 ENDIF 1243 1244 ! Update mean ssh 1245 CALL sbc_ssm_cpl( kt ) 1246 ! Update mean ssh 1247 IF( nn_components /= jp_iam_sas ) CALL sbc_ssm_cpl( kt ) 1246 1248 END IF 1247 1249 ! … … 1250 1252 ! ! Stokes drift u,v ! 1251 1253 ! ! ========================= ! 1252 IF( srcv(jpr_sdrftx)%laction .AND. srcv(jpr_sdrfty)%laction ) THEN1253 ut0sd(:,:) = frcv(jpr_sdrftx)%z3(:,:,1)1254 vt0sd(:,:) = frcv(jpr_sdrfty)%z3(:,:,1)1255 ENDIF1254 IF( srcv(jpr_sdrftx)%laction .AND. srcv(jpr_sdrfty)%laction ) THEN 1255 ut0sd(:,:) = frcv(jpr_sdrftx)%z3(:,:,1) 1256 vt0sd(:,:) = frcv(jpr_sdrfty)%z3(:,:,1) 1257 ENDIF 1256 1258 ! 1257 1259 ! ! ========================= ! … … 1265 1267 IF( srcv(jpr_hsig)%laction ) hsw(:,:) = frcv(jpr_hsig)%z3(:,:,1) 1266 1268 ! 1267 IF( srcv(jpr_mslp)%laction ) THEN ! UKMO SHELF effect of atmospheric pressure on SSH1268 IF( ln_apr_dyn ) THEN1269 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields1270 1271 ! !* update the reference atmospheric pressure (if necessary)1272 IF( ln_ref_apr ) rn_pref = glob_sum( frcv(jpr_mslp)%z3(:,:,1) * e1e2t(:,:) ) / tarea1273 1274 ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rn_pref ) * r1_grau ! equivalent ssh (inverse barometer)1275 apr (:,:) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure1276 !1277 CALL iom_put( "ssh_ib", ssh_ib ) !* output the inverse barometer ssh1278 1279 ! ! ---------------------------------------- !1280 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 !1281 ! ! ---------------------------------------- !1282 !* Restart: read in restart file1283 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN1284 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb read in the restart file'1285 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb ) ! before inv. barometer ssh1286 ELSE !* no restart: set from nit000 values1287 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb set to nit000 values'1288 ssh_ibb(:,:) = ssh_ib(:,:)1289 ENDIF1290 ENDIF1291 ! ! ---------------------------------------- !1292 IF( lrst_oce ) THEN ! Write in the ocean restart file !1293 ! ! ---------------------------------------- !1294 IF(lwp) WRITE(numout,*)1295 IF(lwp) WRITE(numout,*) 'sbc_cpl : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp1296 IF(lwp) WRITE(numout,*) '~~~~'1297 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib )1298 ENDIF1299 ENDIF1300 1301 ! Update mean ssh1302 IF( nn_components /= jp_iam_sas ) CALL sbc_ssm_cpl( kt )1303 END IF1304 1269 ! 1305 1270 ! ! ========================= !
Note: See TracChangeset
for help on using the changeset viewer.