Changeset 8618


Ignore:
Timestamp:
2017-10-12T12:49:28+02:00 (3 years ago)
Author:
hadlh
Message:

Changes for DePreSys3 (coupled) sea-ice nudging, including code to read in ancillary file and pass to CICE.

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

Legend:

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

    r6498 r8618  
    7272   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   topmelt            !: category topmelt 
    7373   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   botmelt            !: category botmelt 
     74   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ndaice_da        !: NEMO ice conc rate of change 
     75   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   nfresh_da         !: NEMO fresh water flux to ocean due to data assim  
     76   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   nfsalt_da          !: NEMO salt flux to ocean due to data assim  
    7477 
    7578#if defined  key_lim3 
     
    162165                ss_iov(jpi,jpj)       , fr_iu(jpi,jpj)        , fr_iv(jpi,jpj)        , & 
    163166                a_i(jpi,jpj,ncat)     , topmelt(jpi,jpj,ncat) , botmelt(jpi,jpj,ncat) , & 
    164                 sstfrz(jpi,jpj)       , STAT= ierr(1) ) 
     167                sstfrz(jpi,jpj)       , ndaice_da(jpi,jpj), nfresh_da(jpi,jpj), & 
     168      nfsalt_da(jpi,jpj), STAT= ierr(1) ) 
    165169   ! Alex West: Allocating tn_ice with 5 categories.  When NEMO is used with CICE, this variable 
    166170   ! represents top layer ice temperature, which is multi-category. 
  • branches/UKMO/GO6_package_r8356_CICEnudging/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r8280 r8618  
    5555                sst,sss,uocn,vocn,ss_tltx,ss_tlty,fsalt_ai,      & 
    5656                fresh_ai,fhocn_ai,fswthru_ai,frzmlt,             & 
    57                 flatn_f,fsurfn_f,fcondtopn_f,                    & 
     57                flatn_f,fsurfn_f,fcondtopn_f,daice_da,fresh_da,fsalt_da, & 
    5858                uatm,vatm,wind,fsw,flw,Tair,potT,Qa,rhoa,zlvl,   & 
    5959                swvdr,swvdf,swidr,swidf,Tf,                      & 
     
    223223      ENDIF   
    224224 
     225      ! Initialize fresh water and salt fluxes from data assim   
     226      !  and data assimilation index to cice 
     227      nfresh_da(:,:) = 0.0 
     228      nfsalt_da(:,:) = 0.0 
     229      ndaice_da(:,:) = 0.0 
     230       
    225231      ! calculate surface freezing temperature and send to CICE 
    226232      CALL  eos_fzp(sss_m(:,:), sstfrz(:,:), fsdept_n(:,:,1))  
     
    454460      ENDIF 
    455461 
     462!Ice concentration change (from assimilation)  
     463      ztmp(:,:)=ndaice_da(:,:)*tmask(:,:,1)   
     464      write(numout,*) 'PE/Ar/Max/Min daice_dat ', nproc, narea, maxval(ztmp), minval(ztmp)  
     465      write(numout,*) 'PE/Ar/Max/Min daice_dat ', nproc, narea, maxval(ndaice_da), minval(ndaice_da) 
     466      CALL nemo2cice(ztmp, daice_da,'T',1.) 
     467 
    456468! Snowfall 
    457469! Ensure fsnow is positive (as in CICE routine prepare_forcing) 
     
    716728         snwice_fmass (:,:) = ( snwice_mass(:,:) - snwice_mass_b(:,:) ) / dt 
    717729      ENDIF 
     730 
     731! Import fresh water and salt flux due to seaice da 
     732      CALL cice2nemo(fresh_da, nfresh_da,'T',1.0) 
     733      CALL cice2nemo(fsalt_da, nfsalt_da,'T',1.0) 
     734      write(numout,*) 'Max/Min nfresh_da ', maxval(nfresh_da), minval(nfresh_da) 
     735      write(numout,*) 'Max/Min nfresh_da ', maxval(nfsalt_da), minval(nfsalt_da) 
    718736 
    719737! Release work space 
  • branches/UKMO/GO6_package_r8356_CICEnudging/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r8280 r8618  
    4444   USE sbcisf           ! surface boundary condition: ice shelf 
    4545   USE sbcfwb           ! surface boundary condition: freshwater budget 
     46   USE sbcdta_ice       ! nudging: load in ice ancillary files 
    4647   USE closea           ! closed sea 
    4748   USE icbstp           ! Icebergs! 
     
    390391 
    391392      IF( ln_mixcpl )        CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice )   ! forced-coupled mixed formulation after forcing 
     393       
     394      CALL sbc_dta_ice ( kt )            ! nudging: calculate RATE of change of ice concentration due to DA 
    392395 
    393396 
Note: See TracChangeset for help on using the changeset viewer.