New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8347 – NEMO

Changeset 8347


Ignore:
Timestamp:
2017-07-18T16:21:46+02:00 (7 years ago)
Author:
jamrae
Message:

Added code to pass sea ice roughness length from CICE to the coupler.

Location:
branches/UKMO/dev_r5518_sea_ice_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_sea_ice_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90

    r5407 r8347  
    111111   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::  a_i 
    112112   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::  ht_i, ht_s 
     113   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::  fmdice 
    113114#endif 
    114115 
     
    167168#if defined key_cice || defined key_lim2 
    168169      IF( ln_cpl )   ALLOCATE( ht_i(jpi,jpj,jpl) , ht_s(jpi,jpj,jpl) , STAT=ierr(5) ) 
     170      IF( ln_cpl )   ALLOCATE( fmdice(jpi,jpj) , STAT=ierr(5) )  
    169171#endif 
    170172 
  • branches/UKMO/dev_r5518_sea_ice_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r5487 r8347  
    135135   INTEGER, PARAMETER ::   jps_e3t1st = 27            ! first level depth (vvl) 
    136136   INTEGER, PARAMETER ::   jps_fraqsr = 28            ! fraction of solar net radiation absorbed in the first ocean level 
    137    INTEGER, PARAMETER ::   jpsnd      = 28            ! total number of fields sended 
     137   INTEGER, PARAMETER ::   jps_fmdice = 29            ! ice formdrag 
     138   INTEGER, PARAMETER ::   jpsnd      = 29            ! total number of fields sent 
    138139 
    139140   !                                                         !!** namelist namsbc_cpl ** 
     
    146147   END TYPE FLD_C 
    147148   ! Send to the atmosphere                           ! 
    148    TYPE(FLD_C) ::   sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2                         
     149   TYPE(FLD_C) ::   sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_fmd                         
    149150   ! Received from the atmosphere                     ! 
    150151   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 
     
    217218      !! 
    218219      NAMELIST/namsbc_cpl/  sn_snd_temp, sn_snd_alb   , sn_snd_thick, sn_snd_crt   , sn_snd_co2,      & 
     220         &                  sn_snd_fmd,                                                               & 
    219221         &                  sn_rcv_w10m, sn_rcv_taumod, sn_rcv_tau  , sn_rcv_dqnsdt, sn_rcv_qsr,      & 
    220222         &                  sn_rcv_qns , sn_rcv_emp   , sn_rcv_rnf  , sn_rcv_cal   , sn_rcv_iceflx,   & 
     
    269271         WRITE(numout,*)'                      - mesh          = ', sn_snd_crt%clvgrd 
    270272         WRITE(numout,*)'      oce co2 flux                    = ', TRIM(sn_snd_co2%cldes   ), ' (', TRIM(sn_snd_co2%clcat   ), ')' 
     273         WRITE(numout,*)'      ice formdrag                    = ', TRIM(sn_snd_fmd%cldes   ), ' (', TRIM(sn_snd_fmd%clcat   ), ')' 
    271274         WRITE(numout,*)'  nn_cplmodel                         = ', nn_cplmodel 
    272275         WRITE(numout,*)'  ln_usecplmask                       = ', ln_usecplmask 
     
    689692      !                                                      ! ------------------------- ! 
    690693      ssnd(jps_co2)%clname = 'O_CO2FLX' ;  IF( TRIM(sn_snd_co2%cldes) == 'coupled' )    ssnd(jps_co2 )%laction = .TRUE. 
     694      
     695      !                                                      ! ------------------------- ! 
     696      !                                                      !    Ice formdrag            ! 
     697      !                                                      ! ------------------------- ! 
     698      ssnd(jps_fmdice )%clname = 'OIceFmd' 
     699      ssnd(jps_fmdice)%laction = .FALSE. 
     700      IF( TRIM( sn_snd_fmd%cldes ) == 'coupled' ) ssnd(jps_fmdice)%laction = .TRUE.       
    691701 
    692702      !                                                      ! ------------------------------- ! 
     
    18521862      ! 
    18531863#endif 
     1864      !                                                      !------------------------! 
     1865      !                                                      ! CICE form drag        ! 
     1866      !                                                      !------------------------! 
     1867      SELECT CASE( sn_snd_fmd%cldes) 
     1868         CASE( 'coupled' )    
     1869             ztmp1(:,:) = fmdice(:,:) 
     1870      END SELECT 
     1871      IF( ssnd(jps_fmdice)%laction )   CALL cpl_prism_snd( jps_fmdice, isec, ztmp1, info )  
    18541872      !                                                      ! ------------------------- ! 
    18551873      IF( ssnd(jps_ocx1)%laction ) THEN                      !      Surface current      ! 
  • branches/UKMO/dev_r5518_sea_ice_form_drag/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r5516 r8347  
    5858#endif 
    5959   USE ice_forcing, only: frcvdr,frcvdf,frcidr,frcidf 
    60    USE ice_atmo, only: calc_strair 
     60   USE ice_atmo, only: calc_strair,z0atm 
    6161 
    6262   USE CICE_InitMod 
     
    730730         CALL cice2nemo(vicen(:,:,jl,:),ht_i(:,:,jl),'T', 1. ) 
    731731      ENDDO 
     732    
     733! Surface roughness length for form drag 
     734      CALL cice2nemo(z0atm,fmdice,'T', 1. ) 
     735 
    732736      ! 
    733737      IF( nn_timing == 1 )  CALL timing_stop('cice_sbc_hadgam') 
Note: See TracChangeset for help on using the changeset viewer.