Changeset 9714
- Timestamp:
- 2018-05-31T17:07:08+02:00 (6 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 r9714 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 r9714 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, & … … 868 870 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_cond%cldes' ) 869 871 END SELECT 870 ! 871 872 872 ! 873 ! ! ------------------------- ! 874 ! ! Sea ice form drag ! 875 ! ! ------------------------- ! 876 ssnd(jps_rough_ice_fmd )%clname = 'OIceFmd' 877 ssnd(jps_rough_ice_skin )%clname = 'ORghIcSk' 878 SELECT CASE ( TRIM( sn_snd_icerough%cldes ) ) 879 CASE ( 'none' ) 880 ssnd(jps_rough_ice_fmd)%laction = .FALSE. 881 ssnd(jps_rough_ice_skin)%laction = .FALSE. 882 CASE ( 'ice', 'weighted ice' ) 883 ssnd(jps_rough_ice_fmd)%laction = .TRUE. 884 ssnd(jps_rough_ice_skin)%laction = .TRUE. 885 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_snd_icerough%cldes' ) 886 END SELECT 887 ! 888 ! 873 889 ! ! ------------------------------- ! 874 890 ! ! OPA-SAS coupling - snd by opa ! … … 2627 2643 #endif 2628 2644 ! 2645 ! 2646 ! ! ------------------------- ! 2647 ! ! Sea ice form drag ! 2648 ! ! ------------------------- ! 2649 #if defined key_cice 2650 IF( ssnd(jps_rough_ice_fmd)%laction ) THEN 2651 SELECT CASE( sn_snd_icerough%cldes ) 2652 CASE( 'ice' ) 2653 ztmp1(:,:) = rough_ice_fmd(:,:) 2654 CASE( 'weighted ice' ) 2655 ztmp1(:,:) = rough_ice_fmd(:,:) * fr_i(:,:) 2656 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 2657 END SELECT 2658 ENDIF 2659 IF( ssnd(jps_rough_ice_fmd)%laction ) CALL cpl_snd( jps_rough_ice_fmd, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) 2660 2661 IF( ssnd(jps_rough_ice_skin)%laction ) THEN 2662 SELECT CASE( sn_snd_icerough%cldes ) 2663 CASE( 'ice' ) 2664 ztmp1(:,:) = rough_ice_skin(:,:) 2665 CASE( 'weighted ice' ) 2666 ztmp1(:,:) = rough_ice_skin(:,:) * fr_i(:,:) 2667 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_icerough%cldes' ) 2668 END SELECT 2669 ENDIF 2670 IF( ssnd(jps_rough_ice_skin)%laction ) CALL cpl_snd( jps_rough_ice_skin, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info ) 2671 #endif 2672 ! 2629 2673 CALL wrk_dealloc( jpi,jpj, zfr_l, ztmp1, ztmp2, zotx1, zoty1, zotz1, zitx1, zity1, zitz1 ) 2630 2674 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 r9714 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 CALL cice2nemo(z0atmskin,rough_ice_skin,'T', 1. ) 819 810 820 ! 811 821 IF( nn_timing == 1 ) CALL timing_stop('cice_sbc_hadgam')
Note: See TracChangeset
for help on using the changeset viewer.