- Timestamp:
- 2015-11-02T10:42:20+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_ww3_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5844 r5846 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 #if defined key_ww3 108 INTEGER, PARAMETER :: jpr_hsig = 43 ! Hsig 109 INTEGER, PARAMETER :: jpr_phioc = 44 ! Wave=>ocean energy flux 110 INTEGER, PARAMETER :: jprcv = 44 ! total number of fields received 111 #else 107 112 INTEGER, PARAMETER :: jprcv = 42 ! total number of fields received 113 #ENDIF 108 114 109 115 INTEGER, PARAMETER :: jps_fice = 1 ! ice fraction sent to the atmosphere … … 135 141 INTEGER, PARAMETER :: jps_e3t1st = 27 ! first level depth (vvl) 136 142 INTEGER, PARAMETER :: jps_fraqsr = 28 ! fraction of solar net radiation absorbed in the first ocean level 143 #if defined key_ww3 144 INTEGER, PARAMETER :: jps_ficet = 29 ! total ice fraction 145 INTEGER, PARAMETER :: jps_ocxw = 30 ! currents on grid 1 146 INTEGER, PARAMETER :: jps_ocyw = 31 ! currents on grid 1 147 INTEGER, PARAMETER :: jpsnd = 31 ! total number of fields sended 148 #else 137 149 INTEGER, PARAMETER :: jpsnd = 28 ! total number of fields sended 150 #endif 138 151 139 152 ! !!** namelist namsbc_cpl ** … … 150 163 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 164 TYPE(FLD_C) :: sn_rcv_cal, sn_rcv_iceflx, sn_rcv_co2 165 ! Send to waves 166 TYPE(FLD_C) :: sn_snd_ifrac, sn_snd_crtw 167 ! Received from waves 168 TYPE(FLD_C) :: sn_rcv_hsig,sn_rcv_phioc 152 169 ! Other namelist parameters ! 153 170 INTEGER :: nn_cplmodel ! Maximum number of models to/from which NEMO is potentialy sending/receiving data … … 216 233 REAL(wp), POINTER, DIMENSION(:,:) :: zacs, zaos 217 234 !! 218 NAMELIST/namsbc_cpl/ sn_snd_temp, sn_snd_alb , sn_snd_thick, sn_snd_crt , sn_snd_co2, & 235 NAMELIST/namsbc_cpl/ sn_snd_temp , sn_snd_alb , sn_snd_thick, sn_snd_crt , sn_snd_co2, & 236 & sn_snd_ifrac, sn_snd_crtw , & 219 237 & sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr, & 220 238 & sn_rcv_qns , sn_rcv_emp , sn_rcv_rnf , sn_rcv_cal , sn_rcv_iceflx, & 221 & sn_rcv_co2 , nn_cplmodel , ln_usecplmask239 & sn_rcv_co2 , sn_rcv_hsig , sn_rcv_phioc, nn_cplmodel , ln_usecplmask 222 240 !!--------------------------------------------------------------------- 223 241 ! … … 260 278 WRITE(numout,*)' sea ice heat fluxes = ', TRIM(sn_rcv_iceflx%cldes), ' (', TRIM(sn_rcv_iceflx%clcat), ')' 261 279 WRITE(numout,*)' atm co2 = ', TRIM(sn_rcv_co2%cldes ), ' (', TRIM(sn_rcv_co2%clcat ), ')' 280 WRITE(numout,*)' significant wave heigth = ', TRIM(sn_rcv_hsig%cldes ), ' (', TRIM(sn_rcv_hsig%clcat ), ')' 281 WRITE(numout,*)' wave to oce energy flux = ', TRIM(sn_rcv_phioc%cldes ), ' (', TRIM(sn_rcv_phioc%clcat ), ')' 262 282 WRITE(numout,*)' sent fields (multiple ice categories)' 263 283 WRITE(numout,*)' surface temperature = ', TRIM(sn_snd_temp%cldes ), ' (', TRIM(sn_snd_temp%clcat ), ')' 264 284 WRITE(numout,*)' albedo = ', TRIM(sn_snd_alb%cldes ), ' (', TRIM(sn_snd_alb%clcat ), ')' 265 285 WRITE(numout,*)' ice/snow thickness = ', TRIM(sn_snd_thick%cldes ), ' (', TRIM(sn_snd_thick%clcat ), ')' 286 WRITE(numout,*)' total ice fraction = ', TRIM(sn_snd_ifrac%cldes ), ' (', TRIM(sn_snd_ifrac%clcat ), ')' 266 287 WRITE(numout,*)' surface current = ', TRIM(sn_snd_crt%cldes ), ' (', TRIM(sn_snd_crt%clcat ), ')' 267 288 WRITE(numout,*)' - referential = ', sn_snd_crt%clvref … … 269 290 WRITE(numout,*)' - mesh = ', sn_snd_crt%clvgrd 270 291 WRITE(numout,*)' oce co2 flux = ', TRIM(sn_snd_co2%cldes ), ' (', TRIM(sn_snd_co2%clcat ), ')' 292 WRITE(numout,*)' surface current to waves = ', TRIM(sn_snd_crtw%cldes ), ' (', TRIM(sn_snd_crtw%clcat ), ')' 293 WRITE(numout,*)' - referential = ', sn_snd_crtw%clvref 294 WRITE(numout,*)' - orientation = ', sn_snd_crtw%clvor 295 WRITE(numout,*)' - mesh = ', sn_snd_crtw%clvgrd 271 296 WRITE(numout,*)' nn_cplmodel = ', nn_cplmodel 272 297 WRITE(numout,*)' ln_usecplmask = ', ln_usecplmask … … 483 508 srcv(jpr_topm:jpr_botm)%laction = .TRUE. 484 509 ENDIF 510 ! ! ------------------------- ! ! 511 ! ! Wave breaking ! 512 ! ! ------------------------- ! 513 srcv(jpr_hsig)%clname = 'O_Hsigwa' ; IF( TRIM(sn_rcv_hsig%cldes ) == 'coupled' ) srcv(jpr_hsig)%laction = .TRUE. 514 srcv(jpr_phioc)%clname = 'O_PhiOce' ; IF( TRIM(sn_rcv_phioc%cldes ) == 'coupled' ) srcv(jpr_phioc)%laction = .TRUE. 515 ! 485 516 ! ! ------------------------------- ! 486 517 ! ! OPA-SAS coupling - rcv by opa ! … … 637 668 ! ! ------------------------- ! 638 669 ssnd(jps_fice)%clname = 'OIceFrc' 670 ssnd(jps_ficet)%clname = 'OIceFrcT' 639 671 ssnd(jps_hice)%clname = 'OIceTck' 640 672 ssnd(jps_hsnw)%clname = 'OSnwTck' … … 645 677 ENDIF 646 678 679 IF (TRIM( sn_snd_ifrac%cldes ) == 'coupled') ssnd(jps_ficet)%laction = .TRUE. 680 647 681 SELECT CASE ( TRIM( sn_snd_thick%cldes ) ) 648 682 CASE( 'none' ) ! nothing to do … … 665 699 ssnd(jps_ocy1)%clname = 'O_OCury1' ; ssnd(jps_ivy1)%clname = 'O_IVely1' 666 700 ssnd(jps_ocz1)%clname = 'O_OCurz1' ; ssnd(jps_ivz1)%clname = 'O_IVelz1' 701 ssnd(jps_ocxw)%clname = 'O_OCurxw' 702 ssnd(jps_ocyw)%clname = 'O_OCuryw' 667 703 ! 668 704 ssnd(jps_ocx1:jps_ivz1)%nsgn = -1. ! vectors: change of the sign at the north fold … … 683 719 CASE( 'mixed oce-ice' ) ; ssnd(jps_ivx1:jps_ivz1)%laction = .FALSE. 684 720 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_crt%cldes' ) 721 END SELECT 722 723 ssnd(jps_ocxw:jps_ocyw)%nsgn = -1. ! vectors: change of the sign at the north fold 724 725 IF( sn_snd_crtw%clvgrd == 'U,V' ) THEN 726 ssnd(jps_ocxw)%clgrid = 'U' ; ssnd(jps_ocyw)%clgrid = 'V' 727 ELSE IF( sn_snd_crtw%clvgrd /= 'T' ) THEN 728 CALL ctl_stop( 'sn_snd_crtw%clvgrd must be equal to T' ) 729 ENDIF 730 IF( TRIM( sn_snd_crtw%clvor ) == 'eastward-northward' ) ssnd(jps_ocxw:jps_ocyw)%nsgn = 1. 731 SELECT CASE( TRIM( sn_snd_crtw%cldes ) ) 732 CASE( 'none' ) ; ssnd(jps_ocxw:jps_ocyw)%laction = .FALSE. 733 CASE( 'coupled' ) ; ssnd(jps_ocxw:jps_ocyw)%laction = .TRUE. 734 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_crtw%cldes' ) 685 735 END SELECT 686 736 … … 1986 2036 IF( ssnd(jps_ivz1)%laction ) CALL cpl_snd( jps_ivz1, isec, RESHAPE ( zitz1, (/jpi,jpj,1/) ), info ) ! ice z current 1st grid 1987 2037 ! 1988 ENDIF 1989 ! 2038 !currents to wave model 2039 IF( ssnd(jps_ocxw)%laction ) CALL cpl_prism_snd( jps_ocxw, isec, RESHAPE ( zotx1, (/jpi,jpj,1/) ), info ) ! ocean x current 1st grid 2040 IF( ssnd(jps_ocyw)%laction ) CALL cpl_prism_snd( jps_ocyw, isec, RESHAPE ( zoty1, (/jpi,jpj,1/) ), info ) ! ocean y current 1st grid 2041 ! 2042 ENDIF 2043 ! 2044 IF( ssnd(jps_ficet)%laction ) THEN 2045 CALL cpl_prism_snd( jps_ficet, isec, RESHAPE ( fr_i, (/jpi,jpj,1/) ), info ) 2046 END IF 1990 2047 ! 1991 2048 ! Fields sent by OPA to SAS when doing OPA<->SAS coupling
Note: See TracChangeset
for help on using the changeset viewer.