Changeset 5801 for branches/UKMO/dev_r5518_ukv_mslp
- Timestamp:
- 2015-10-16T17:21:24+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_ukv_mslp/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5487 r5801 105 105 INTEGER, PARAMETER :: jpr_e3t1st = 41 ! first T level thickness 106 106 INTEGER, PARAMETER :: jpr_fraqsr = 42 ! fraction of solar net radiation absorbed in the first ocean level 107 INTEGER, PARAMETER :: jprcv = 42 ! total number of fields received 107 INTEGER, PARAMETER :: jpr_mslp = 43 ! mean sea level pressure 108 INTEGER, PARAMETER :: jprcv = 43 ! total number of fields received 108 109 109 110 INTEGER, PARAMETER :: jps_fice = 1 ! ice fraction sent to the atmosphere … … 149 150 ! Received from the atmosphere ! 150 151 TYPE(FLD_C) :: sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau, sn_rcv_dqnsdt, sn_rcv_qsr, sn_rcv_qns, sn_rcv_emp, sn_rcv_rnf 151 TYPE(FLD_C) :: sn_rcv_cal, sn_rcv_iceflx, sn_rcv_co2 152 TYPE(FLD_C) :: sn_rcv_cal, sn_rcv_iceflx, sn_rcv_co2, sn_rcv_mspl 152 153 ! Other namelist parameters ! 153 154 INTEGER :: nn_cplmodel ! Maximum number of models to/from which NEMO is potentialy sending/receiving data … … 161 162 162 163 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: albedo_oce_mix ! ocean albedo sent to atmosphere (mix clear/overcast sky) 164 165 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: ssh_ib ! Inverse barometer now sea surface height [m] 166 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: ssh_ibb ! Inverse barometer before sea surface height [m] 167 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: apr ! atmospheric pressure at kt [N/m2] 168 REAL(wp) :: rpref = 101000._wp ! reference atmospheric pressure[N/m2] 169 REAL(wp) :: r1_grau ! = 1.e0 / (grav * rau0) 163 170 164 171 INTEGER , ALLOCATABLE, SAVE, DIMENSION( :) :: nrcvinfo ! OASIS info argument … … 183 190 ierr(:) = 0 184 191 ! 185 ALLOCATE( albedo_oce_mix(jpi,jpj), nrcvinfo(jprcv), STAT=ierr(1) ) 192 ALLOCATE( albedo_oce_mix(jpi,jpj), ssh_ib(jpi,jpj), ssh_ibb(jpi,jpj), & 193 apr (jpi,jpj), nrcvinfo(jprcv), STAT=ierr(1) ) 186 194 187 195 #if ! defined key_lim3 && ! defined key_lim2 && ! defined key_cice … … 216 224 REAL(wp), POINTER, DIMENSION(:,:) :: zacs, zaos 217 225 !! 218 NAMELIST/namsbc_cpl/ sn_snd_temp, sn_snd_alb , sn_snd_thick , sn_snd_crt , sn_snd_co2, &219 & sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr, &220 & sn_rcv_qns , sn_rcv_emp , sn_rcv_rnf , sn_rcv_cal , sn_rcv_iceflx, &221 & sn_rcv_co2 , nn_cplmodel , ln_usecplmask 226 NAMELIST/namsbc_cpl/ sn_snd_temp, sn_snd_alb , sn_snd_thick , sn_snd_crt , sn_snd_co2, & 227 & sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr, & 228 & sn_rcv_qns , sn_rcv_emp , sn_rcv_rnf , sn_rcv_cal , sn_rcv_iceflx, & 229 & sn_rcv_co2 , nn_cplmodel , ln_usecplmask, sn_rcv_mslp 222 230 !!--------------------------------------------------------------------- 223 231 ! … … 269 277 WRITE(numout,*)' - mesh = ', sn_snd_crt%clvgrd 270 278 WRITE(numout,*)' oce co2 flux = ', TRIM(sn_snd_co2%cldes ), ' (', TRIM(sn_snd_co2%clcat ), ')' 279 WRITE(numout,*)' mean sea level pressure = ', TRIM(sn_rcv_mslp%cldes ), ' (', TRIM(sn_rcv_mslp%clcat ), ')' 271 280 WRITE(numout,*)' nn_cplmodel = ', nn_cplmodel 272 281 WRITE(numout,*)' ln_usecplmask = ', ln_usecplmask … … 470 479 ! ! ------------------------- ! 471 480 srcv(jpr_co2 )%clname = 'O_AtmCO2' ; IF( TRIM(sn_rcv_co2%cldes ) == 'coupled' ) srcv(jpr_co2 )%laction = .TRUE. 481 482 ! ! ------------------------- ! 483 ! ! Mean Sea Level Pressure ! 484 ! ! ------------------------- ! 485 srcv(jpr_mslp)%clname = 'O_MSLP' ; IF( TRIM(sn_rcv_mslp%cldes ) == 'coupled' ) srcv(jpr_mslp)%laction = .TRUE. 486 472 487 ! ! ------------------------- ! 473 488 ! ! topmelt and botmelt ! … … 1111 1126 ENDIF 1112 1127 ! 1128 ! 1129 ! ! ========================= ! 1130 ! ! Mean Sea Level Pressure ! (taum) 1131 ! ! ========================= ! 1132 ! 1133 IF( srcv(jpr_mslp)%laction ) THEN ! UKMO SHELF effect of atmospheric pressure on SSH 1134 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields 1135 1136 r1_grau = 1.e0 / (grav * rau0) !* constant for optimization 1137 ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rpref ) * r1_grau ! equivalent ssh (inverse barometer) 1138 apr (:,:) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure 1139 1140 IF( kt == nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) ! correct this later (read from restart if possible) 1141 END IF 1142 1113 1143 CALL wrk_dealloc( jpi,jpj, ztx, zty, zmsk, zemp, zqns, zqsr ) 1114 1144 !
Note: See TracChangeset
for help on using the changeset viewer.