Changeset 9717
- Timestamp:
- 2018-05-31T17:25:15+02:00 (7 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package_r8638_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package_r8638_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r8400 r9717 126 126 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: a_i 127 127 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ht_i, ht_s 128 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rough_ice_fmd, rough_ice_skin 128 129 #endif 129 130 … … 188 189 #if defined key_cice || defined key_lim2 189 190 IF( ln_cpl ) ALLOCATE( ht_i(jpi,jpj,jpl) , ht_s(jpi,jpj,jpl) , STAT=ierr(5) ) 191 IF( ln_cpl ) ALLOCATE( rough_ice_fmd(jpi,jpj) , rough_ice_skin(jpi,jpj) , STAT=ierr(5) ) 190 192 #endif 191 193 -
branches/UKMO/dev_r5518_GO6_package_r8638_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r8427 r9717 149 149 INTEGER, PARAMETER :: jps_bio_dms = 35 ! MEDUSA DMS surface concentration 150 150 INTEGER, PARAMETER :: jps_bio_chloro = 36 ! MEDUSA chlorophyll surface concentration 151 INTEGER, PARAMETER :: jpsnd = 36 ! total number of fields sent 151 INTEGER, PARAMETER :: jps_rough_ice_fmd = 37 ! ice form drag roughness length 152 INTEGER, PARAMETER :: jps_rough_ice_skin = 38 ! ice skin roughness length 153 INTEGER, PARAMETER :: jpsnd = 38 ! total number of fields sent 152 154 153 155 REAL(wp), PARAMETER :: dms_unit_conv = 1.0e+6 ! Coversion factor to get outgong DMS in standard units for coupling … … 163 165 END TYPE FLD_C 164 166 ! Send to the atmosphere ! 165 TYPE(FLD_C) :: sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_cond, sn_snd_mpnd, sn_snd_sstfrz, sn_snd_thick1 167 TYPE(FLD_C) :: sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_cond, sn_snd_mpnd, sn_snd_sstfrz, sn_snd_thick1, sn_snd_icerough 166 168 TYPE(FLD_C) :: sn_snd_bio_co2, sn_snd_bio_dms, sn_snd_bio_chloro 167 169 … … 241 243 !! 242 244 NAMELIST/namsbc_cpl/ sn_snd_temp, sn_snd_alb , sn_snd_thick , sn_snd_crt , sn_snd_co2, & 243 & sn_snd_cond, sn_snd_mpnd , sn_snd_sstfrz, sn_snd_thick1, 245 & sn_snd_cond, sn_snd_mpnd , sn_snd_sstfrz, sn_snd_thick1, sn_snd_icerough,& 244 246 & sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr, & 245 247 & sn_rcv_qns , sn_rcv_emp , sn_rcv_rnf , sn_rcv_cal , sn_rcv_iceflx, & … … 314 316 WRITE(numout,*)' meltponds fraction & depth = ', TRIM(sn_snd_mpnd%cldes ), ' (', TRIM(sn_snd_mpnd%clcat ), ')' 315 317 WRITE(numout,*)' sea surface freezing temp = ', TRIM(sn_snd_sstfrz%cldes ), ' (', TRIM(sn_snd_sstfrz%clcat ), ')' 318 WRITE(numout,*)' ice formdrag = ', TRIM(sn_snd_icerough%cldes ), ' (', TRIM(sn_snd_icerough%clcat ), ')' 316 319 317 320 WRITE(numout,*)' nn_cplmodel = ', nn_cplmodel … … 868 871 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_cond%cldes' ) 869 872 END SELECT 870 ! 871 872 873 ! 874 ! ! ------------------------- ! 875 ! ! Sea ice form drag ! 876 ! ! ------------------------- ! 877 ssnd(jps_rough_ice_fmd )%clname = 'OIceFmd' 878 ssnd(jps_rough_ice_skin )%clname = 'ORghIcSk' 879 SELECT CASE ( TRIM( sn_snd_icerough%cldes ) ) 880 CASE ( 'none' ) 881 ssnd(jps_rough_ice_fmd)%laction = .FALSE. 882 ssnd(jps_rough_ice_skin)%laction = .FALSE. 883 CASE ( 'ice', 'weighted ice' ) 884 ssnd(jps_rough_ice_fmd)%laction = .TRUE. 885 ssnd(jps_rough_ice_skin)%laction = .TRUE. 886 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_icerough%cldes' ) 887 END SELECT 888 ! 889 ! 873 890 ! ! ------------------------------- ! 874 891 ! ! OPA-SAS coupling - snd by opa ! … … 2627 2644 #endif 2628 2645 ! 2646 ! 2647 ! ! ------------------------- ! 2648 ! ! Sea ice form drag ! 2649 ! ! ------------------------- ! 2650 #if defined key_cice 2651 IF( ssnd(jps_rough_ice_fmd)%laction ) THEN 2652 SELECT CASE( sn_snd_icerough%cldes ) 2653 CASE( 'ice' ) 2654 ztmp1(:,:) = rough_ice_fmd(:,:) 2655 CASE( 'weighted ice' ) 2656 ztmp1(:,:) = rough_ice_fmd(:,:) * fr_i(:,:) 2657 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 2658 END SELECT 2659 ENDIF 2660 IF( ssnd(jps_rough_ice_fmd)%laction ) CALL cpl_snd( jps_rough_ice_fmd, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) 2661 2662 IF( ssnd(jps_rough_ice_skin)%laction ) THEN 2663 SELECT CASE( sn_snd_icerough%cldes ) 2664 CASE( 'ice' ) 2665 ztmp1(:,:) = rough_ice_skin(:,:) 2666 CASE( 'weighted ice' ) 2667 ztmp1(:,:) = rough_ice_skin(:,:) * fr_i(:,:) 2668 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 2669 END SELECT 2670 ENDIF 2671 IF( ssnd(jps_rough_ice_skin)%laction ) CALL cpl_snd( jps_rough_ice_skin, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) 2672 #endif 2673 ! 2629 2674 CALL wrk_dealloc( jpi,jpj, zfr_l, ztmp1, ztmp2, zotx1, zoty1, zotz1, zitx1, zity1, zitz1 ) 2630 2675 CALL wrk_dealloc( jpi,jpj, zotx1_in, zoty1_in ) -
branches/UKMO/dev_r5518_GO6_package_r8638_plus_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r8400 r9717 71 71 #endif 72 72 USE ice_forcing, only: frcvdr,frcvdf,frcidr,frcidf 73 USE ice_atmo, only: calc_strair 73 USE ice_atmo, only: calc_strair, z0atm, z0atmskin 74 74 75 75 USE CICE_InitMod … … 261 261 snwice_mass_b(:,:) = 0.0_wp ! no mass exchanges 262 262 ENDIF 263 264 CALL cice2nemo(z0atm,rough_ice_fmd,'T', 1. ) 265 CALL cice2nemo(z0atmskin,rough_ice_skin,'T', 1. ) 266 263 267 IF( .NOT. ln_rstart ) THEN 264 268 IF( nn_ice_embd == 2 ) THEN ! full embedment (case 2) deplete the initial ssh below sea-ice area … … 808 812 ENDIF 809 813 814 ! Surface roughness length for form drag 815 CALL cice2nemo(z0atm,rough_ice_fmd,'T', 1. ) 816 817 ! Surface skin roughness length 818 810 819 ! 811 820 IF( nn_timing == 1 ) CALL timing_stop('cice_sbc_hadgam')
Note: See TracChangeset
for help on using the changeset viewer.