- Timestamp:
- 2017-12-12T16:38:41+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_METO_MERCATOR_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r8329 r8992 113 113 INTEGER, PARAMETER :: jpr_wper = 48 ! Mean wave period 114 114 INTEGER, PARAMETER :: jpr_wnum = 49 ! Mean wavenumber 115 INTEGER, PARAMETER :: jpr_ wstrf= 50 ! Stress fraction adsorbed by waves115 INTEGER, PARAMETER :: jpr_tauoc = 50 ! Stress fraction adsorbed by waves 116 116 INTEGER, PARAMETER :: jpr_wdrag = 51 ! Neutral surface drag coefficient 117 117 INTEGER, PARAMETER :: jpr_isf = 52 118 118 INTEGER, PARAMETER :: jpr_icb = 53 119 120 INTEGER, PARAMETER :: jprcv = 53 ! total number of fields received 119 INTEGER, PARAMETER :: jpr_wfreq = 54 ! Wave peak frequency 120 INTEGER, PARAMETER :: jpr_tauwx = 55 ! x component of the ocean stress from waves 121 INTEGER, PARAMETER :: jpr_tauwy = 56 ! y component of the ocean stress from waves 122 123 INTEGER, PARAMETER :: jprcv = 56 ! total number of fields received 121 124 122 125 INTEGER, PARAMETER :: jps_fice = 1 ! ice fraction sent to the atmosphere … … 165 168 TYPE(FLD_C) :: sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2 166 169 ! ! Received from the atmosphere 167 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 170 TYPE(FLD_C) :: sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau, sn_rcv_tauw, sn_rcv_dqnsdt, sn_rcv_qsr, & 171 sn_rcv_qns, sn_rcv_emp, sn_rcv_rnf 168 172 TYPE(FLD_C) :: sn_rcv_cal, sn_rcv_iceflx, sn_rcv_co2, sn_rcv_mslp, sn_rcv_icb, sn_rcv_isf 169 173 ! Send to waves 170 174 TYPE(FLD_C) :: sn_snd_ifrac, sn_snd_crtw, sn_snd_wlev 171 175 ! Received from waves 172 TYPE(FLD_C) :: sn_rcv_hsig,sn_rcv_phioc,sn_rcv_sdrfx,sn_rcv_sdrfy,sn_rcv_wper,sn_rcv_wnum,sn_rcv_wstrf,sn_rcv_wdrag 176 TYPE(FLD_C) :: sn_rcv_hsig,sn_rcv_phioc,sn_rcv_sdrfx,sn_rcv_sdrfy,sn_rcv_wper,sn_rcv_wnum,sn_rcv_tauoc,sn_rcv_wdrag, & 177 sn_rcv_wfreq 173 178 ! ! Other namelist parameters 174 179 INTEGER :: nn_cplmodel ! Maximum number of models to/from which NEMO is potentialy sending/receiving data … … 242 247 & sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr, & 243 248 & sn_snd_ifrac, sn_snd_crtw , sn_snd_wlev , sn_rcv_hsig , sn_rcv_phioc , & 244 & sn_rcv_sdrfx, sn_rcv_sdrfy, sn_rcv_wper , sn_rcv_wnum , sn_rcv_ wstrf, &249 & sn_rcv_sdrfx, sn_rcv_sdrfy, sn_rcv_wper , sn_rcv_wnum , sn_rcv_tauoc , & 245 250 & sn_rcv_wdrag, sn_rcv_qns , sn_rcv_emp , sn_rcv_rnf , sn_rcv_cal , & 246 251 & sn_rcv_iceflx,sn_rcv_co2 , nn_cplmodel , ln_usecplmask, sn_rcv_mslp , & 247 & sn_rcv_icb , sn_rcv_isf 252 & sn_rcv_icb , sn_rcv_isf , sn_rcv_wfreq , sn_rcv_tauw 248 253 249 254 !!--------------------------------------------------------------------- … … 295 300 WRITE(numout,*)' Mean wave period = ', TRIM(sn_rcv_wper%cldes ), ' (', TRIM(sn_rcv_wper%clcat ), ')' 296 301 WRITE(numout,*)' Mean wave number = ', TRIM(sn_rcv_wnum%cldes ), ' (', TRIM(sn_rcv_wnum%clcat ), ')' 297 WRITE(numout,*)' Stress frac adsorbed by waves = ', TRIM(sn_rcv_wstrf%cldes ), ' (', TRIM(sn_rcv_wstrf%clcat ), ')' 302 WRITE(numout,*)' Wave peak frequency = ', TRIM(sn_rcv_wfreq%cldes ), ' (', TRIM(sn_rcv_wfreq%clcat ), ')' 303 WRITE(numout,*)' Stress frac adsorbed by waves = ', TRIM(sn_rcv_tauoc%cldes ), ' (', TRIM(sn_rcv_tauoc%clcat ), ')' 304 WRITE(numout,*)' Stress components by waves = ', TRIM(sn_rcv_tauw%cldes ), ' (', TRIM(sn_rcv_tauw%clcat ), ')' 298 305 WRITE(numout,*)' Neutral surf drag coefficient = ', TRIM(sn_rcv_wdrag%cldes ), ' (', TRIM(sn_rcv_wdrag%clcat ), ')' 299 306 WRITE(numout,*)' sent fields (multiple ice categories)' … … 578 585 cpl_wper = .TRUE. 579 586 ENDIF 587 srcv(jpr_wfreq)%clname = 'O_WFreq' ! wave peak frequency 588 IF( TRIM(sn_rcv_wfreq%cldes ) == 'coupled' ) THEN 589 srcv(jpr_wfreq)%laction = .TRUE. 590 cpl_wfreq = .TRUE. 591 ENDIF 580 592 srcv(jpr_wnum)%clname = 'O_WNum' ! mean wave number 581 593 IF( TRIM(sn_rcv_wnum%cldes ) == 'coupled' ) THEN … … 583 595 cpl_wnum = .TRUE. 584 596 ENDIF 585 srcv(jpr_wstrf)%clname = 'O_WStrf' ! stress fraction adsorbed by the wave 586 IF( TRIM(sn_rcv_wstrf%cldes ) == 'coupled' ) THEN 587 srcv(jpr_wstrf)%laction = .TRUE. 588 cpl_wstrf = .TRUE. 597 srcv(jpr_tauoc)%clname = 'O_TauOce' ! stress fraction adsorbed by the wave 598 IF( TRIM(sn_rcv_tauoc%cldes ) == 'coupled' ) THEN 599 srcv(jpr_tauoc)%laction = .TRUE. 600 cpl_tauoc = .TRUE. 601 ENDIF 602 srcv(jpr_tauwx)%clname = 'O_Tauwx' ! ocean stress from wave in the x direction 603 srcv(jpr_tauwy)%clname = 'O_Tauwy' ! ocean stress from wave in the y direction 604 IF( TRIM(sn_rcv_tauw%cldes ) == 'coupled' ) THEN 605 srcv(jpr_tauwx)%laction = .TRUE. 606 srcv(jpr_tauwy)%laction = .TRUE. 607 cpl_tauw = .TRUE. 589 608 ENDIF 590 609 srcv(jpr_wdrag)%clname = 'O_WDrag' ! neutral surface drag coefficient … … 594 613 ENDIF 595 614 ! 615 IF( srcv(jpr_tauoc)%laction .AND. srcv(jpr_tauwx)%laction .AND. srcv(jpr_tauwy)%laction ) & 616 CALL ctl_stop( 'More than one method for modifying the ocean stress has been selected ', & 617 '(sn_rcv_tauoc=coupled and sn_rcv_tauw=coupled)' ) 618 ! 596 619 ! ! ------------------------------- ! 597 620 ! ! OPA-SAS coupling - rcv by opa ! … … 1165 1188 ! ! ========================= ! 1166 1189 IF( srcv(jpr_hsig)%laction ) hsw(:,:) = frcv(jpr_hsig)%z3(:,:,1) 1190 ! 1191 ! ! ========================= ! 1192 ! ! Wave peak frequency ! 1193 ! ! ========================= ! 1194 IF( srcv(jpr_wfreq)%laction ) wfreq(:,:) = frcv(jpr_wfreq)%z3(:,:,1) 1167 1195 ! 1168 1196 ! ! ========================= ! … … 1173 1201 ! Calculate the 3D Stokes drift both in coupled and not fully uncoupled mode 1174 1202 IF( srcv(jpr_sdrftx)%laction .OR. srcv(jpr_sdrfty)%laction .OR. srcv(jpr_wper)%laction & 1175 .OR. srcv(jpr_hsig)%laction ) THEN1203 .OR. srcv(jpr_hsig)%laction .OR. srcv(jpr_wfreq)%laction ) THEN 1176 1204 CALL sbc_stokes() 1177 1205 ENDIF … … 1180 1208 ! ! Stress adsorbed by waves ! 1181 1209 ! ! ========================= ! 1182 IF( srcv(jpr_wstrf)%laction .AND. ln_tauoc ) tauoc_wave(:,:) = frcv(jpr_wstrf)%z3(:,:,1) 1210 IF( srcv(jpr_tauoc)%laction .AND. ln_tauoc ) tauoc_wave(:,:) = frcv(jpr_tauoc)%z3(:,:,1) 1211 1212 ! ! ========================= ! 1213 ! ! Stress component by waves ! 1214 ! ! ========================= ! 1215 IF( srcv(jpr_tauwx)%laction .AND. srcv(jpr_tauwy)%laction .AND. ln_tauw ) THEN 1216 tauw_x(:,:) = frcv(jpr_tauwx)%z3(:,:,1) 1217 tauw_y(:,:) = frcv(jpr_tauwy)%z3(:,:,1) 1218 ENDIF 1183 1219 1184 1220 ! ! ========================= !
Note: See TracChangeset
for help on using the changeset viewer.