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 8132 for branches/NERC – NEMO

Changeset 8132 for branches/NERC


Ignore:
Timestamp:
2017-06-02T20:06:30+02:00 (7 years ago)
Author:
jpalmier
Message:

JPALM -- debug DMS update ; add surf Chl coupling for the atm component

Location:
branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/CONFIG/SHARED/field_def_bgc.xml

    r8131 r8132  
    7676      <!-- MEDUSA : variables available with key_medusa --> 
    7777       <field id="CHN"      long_name="Chl-a concentration in non-diatom phytoplankton"   unit="mg Chl/m3" /> 
     78       <field id="CHN_E3T"  long_name="CHN * E3T"                                         unit="mg Chl/m2"  > CHN * e3t </field >  
    7879       <field id="CHD"      long_name="Chl-a concentration in     diatom phytoplankton"   unit="mg Chl/m3" /> 
     80       <field id="CHD_E3T"  long_name="CHD * E3T"                                         unit="mg Chl/m2"  > CHD * e3t </field > 
    7981       <field id="PHN"      long_name="non-diatom phytoplankton"                          unit="mmol-N/m3" /> 
     82       <field id="PHN_E3T"  long_name="PHN * E3T"                                         unit="mmol-N/m2"  > PHN * e3t </field > 
    8083       <field id="PHD"      long_name="diatom     phytoplankton"                          unit="mmol-N/m3" /> 
     84       <field id="PHD_E3T"  long_name="PHD * E3T"                                         unit="mmol-N/m2"  > PHD * e3t </field > 
    8185       <field id="ZMI"      long_name="micro zooplankton"                                 unit="mmol-N/m3" /> 
     86       <field id="ZMI_E3T"  long_name="ZMI * E3T"                                         unit="mmol-N/m2"  > ZMI * e3t </field > 
    8287       <field id="ZME"      long_name="meso  zooplankton"                                 unit="mmol-N/m3" /> 
     88       <field id="ZME_E3T"  long_name="ZME * E3T"                                         unit="mmol-N/m2"  > ZME * e3t </field > 
    8389       <field id="DIN"      long_name="dissolved inorganic nitrogen"                      unit="mmol-N/m3" /> 
     90       <field id="DIN_E3T"  long_name="DIN * E3T"                                         unit="mmol-N/m2"  > DIN * e3t </field > 
    8491       <field id="SIL"      long_name="dissolved silicic acid"                            unit="mmolSi/m3" /> 
     92       <field id="SIL_E3T"  long_name="SIL * E3T"                                         unit="mmolSi/m2"  > SIL * e3t </field > 
    8593       <field id="FER"      long_name="dissolved iron"                                    unit="mmolFe/m3" /> 
     94       <field id="FER_E3T"  long_name="FER * E3T"                                         unit="mmolFe/m2"  > FER * e3t </field > 
    8695       <field id="DET"      long_name="detrital nitrogen"                                 unit="mmol-N/m3" /> 
     96       <field id="DET_E3T"  long_name="DET * E3T"                                         unit="mmol-N/m2"  > DET * e3t </field > 
    8797       <field id="PDS"      long_name="biogenic silicon in diatom phytoplankton"          unit="mmolSi/m3" /> 
     98       <field id="PDS_E3T"  long_name="PDS * E3T"                                         unit="mmolSi/m2"  > PDS * e3t </field > 
    8899       <field id="DTC"      long_name="detrital carbon"                                   unit="mmol-C/m3" /> 
     100       <field id="DTC_E3T"  long_name="DTC * E3T"                                         unit="mmol-C/m2"  > DTC * e3t </field > 
    89101       <field id="DiC"      long_name="dissolved inorganic carbon"                        unit="mmol-C/m3" /> 
     102       <field id="DiC_E3T"  long_name="DiC * E3T"                                         unit="mmol-C/m2"  > DiC * e3t </field > 
    90103       <field id="ALK"      long_name="alkalinity"                                        unit="meq/m3"    /> 
     104       <field id="ALK_E3T"  long_name="ALK * E3T"                                         unit="meq/m2"     > ALK * e3t </field > 
    91105       <field id="OXY"      long_name="dissolved oxygen"                                  unit="mmolO2/m3" /> 
     106       <field id="OXY_E3T"  long_name="OXY * E3T"                                         unit="mmolO2/m2"  > OXY * e3t </field > 
    92107 
    93108      <!-- Ideal traceurs : variables available with key_idtra --> 
     
    528543 
    529544    <field_group id="groupMEDUSA" > 
    530       <field field_ref="CHN"   name="CHN"   /> 
    531       <field field_ref="CHD"   name="CHD"   /> 
    532       <field field_ref="PHN"   name="PHN"   /> 
    533       <field field_ref="PHD"   name="PHD"   /> 
    534       <field field_ref="ZMI"   name="ZMI"   /> 
    535       <field field_ref="ZME"   name="ZME"   /> 
    536       <field field_ref="DIN"   name="DIN"   /> 
    537       <field field_ref="SIL"   name="SIL"   /> 
    538       <field field_ref="FER"   name="FER"   /> 
    539       <field field_ref="DET"   name="DET"   /> 
    540       <field field_ref="PDS"   name="PDS"   /> 
    541       <field field_ref="DTC"   name="DTC"   /> 
    542       <field field_ref="DiC"   name="DIC"   /> 
    543       <field field_ref="ALK"   name="ALK"   /> 
    544       <field field_ref="OXY"   name="OXY"   /> 
     545      <field field_ref="CHN"     name="CHN"      /> 
     546      <field field_ref="CHN_E3T" name="CHN_E3T"  /> 
     547      <field field_ref="CHD"     name="CHD"      /> 
     548      <field field_ref="CHD_E3T" name="CHD_E3T"  /> 
     549      <field field_ref="PHN"     name="PHN"      /> 
     550      <field field_ref="PHN_E3T" name="PHN_E3T"  /> 
     551      <field field_ref="PHD"     name="PHD"      /> 
     552      <field field_ref="PHD_E3T" name="PHD_E3T"  /> 
     553      <field field_ref="ZMI"     name="ZMI"      /> 
     554      <field field_ref="ZMI_E3T" name="ZMI_E3T"  /> 
     555      <field field_ref="ZME"     name="ZME"      /> 
     556      <field field_ref="ZME_E3T" name="ZME_E3T"  /> 
     557      <field field_ref="DIN"     name="DIN"      /> 
     558      <field field_ref="DIN_E3T" name="DIN_E3T"  /> 
     559      <field field_ref="SIL"     name="SIL"      /> 
     560      <field field_ref="SIL_E3T" name="SIL_E3T"  /> 
     561      <field field_ref="FER"     name="FER"      /> 
     562      <field field_ref="FER_E3T" name="FER_E3T"  /> 
     563      <field field_ref="DET"     name="DET"      /> 
     564      <field field_ref="DET_E3T" name="DET_E3T"  /> 
     565      <field field_ref="PDS"     name="PDS"      /> 
     566      <field field_ref="PDS_E3T" name="PDS_E3T"  /> 
     567      <field field_ref="DTC"     name="DTC"      /> 
     568      <field field_ref="DTC_E3T" name="DTC_E3T"  /> 
     569      <field field_ref="DiC"     name="DIC"      /> 
     570      <field field_ref="DiC_E3T" name="DIC_E3T"  /> 
     571      <field field_ref="ALK"     name="ALK"      /> 
     572      <field field_ref="ALK_E3T" name="ALK_E3T"  /> 
     573      <field field_ref="OXY"     name="OXY"      /> 
     574      <field field_ref="OXY_E3T" name="OXY_E3T"  /> 
    545575      </field_group> 
    546576 
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/sms_medusa.F90

    r8074 r8132  
    243243   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: zn_co2_flx  !: 2D avg fx co2 (now) 
    244244   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: za_co2_flx  !: 2D avg fx co2 (after) 
    245    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: zb_dms_srf  !: 2D avg fx co2 (before) 
    246    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: zn_dms_srf  !: 2D avg fx co2 (now) 
    247    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: za_dms_srf  !: 2D avg fx co2 (after) 
     245   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: zb_dms_srf  !: 2D avg sfr dms (before) 
     246   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: zn_dms_srf  !: 2D avg sfr dms (now) 
     247   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: za_dms_srf  !: 2D avg srf dms (after) 
     248   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: zn_chl_srf  !: 2D avg srf chl (now) 
    248249 
    249250#endif 
     
    485486         &      za_co2_flx(jpi,jpj)  ,                              & 
    486487         &      zb_dms_srf(jpi,jpj)  , zn_dms_srf(jpi,jpj)  ,       &            
    487          &      za_dms_srf(jpi,jpj)  ,                           STAT=ierr(5) ) 
     488         &      za_dms_srf(jpi,jpj)  , zn_chl_srf(jpi,jpj)  ,    STAT=ierr(5) ) 
    488489# endif 
    489490      !* 2D fields of miscellaneous parameters 
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90

    r8131 r8132  
    9595      !! JPALM (27-06-2016): add lk_oasis for CO2 and DMS coupling with atm 
    9696      USE sbc_oce, ONLY: lk_oasis 
    97       USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl, PCO2a_in_cpl 
     97      USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl, PCO2a_in_cpl, chloro_out_cpl 
    9898 
    9999      IMPLICIT NONE 
     
    48094809                     IF (lwp) write (numout,*) 'trc_bio_medusa: diag jk = 1' 
    48104810                     CALL flush(numout) 
    4811 #   endif 
     4811#   endif             
     4812                     !! JPALM -- 02-06-2017 -- 
     4813                     !! add Chl surf coupling 
     4814                     !! no need to output, just pass to cpl var 
     4815                     IF (lk_oasis) THEN 
     4816                          zn_chl_srf(:,:) = trn(:,:,1,jpchd) + trn(:,:,1,jpchn) 
     4817                         chloro_out_cpl(:,:) = zn_chl_srf(:,:)        !! Coupling Chl 
     4818                     END IF 
    48124819                     IF( med_diag%MED_QSR%dgsave ) THEN 
    48134820                         CALL iom_put( "MED_QSR"  , qsr ) ! 
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcdms_medusa.F90

    r8131 r8132  
    4040! 
    4141   SUBROUTINE trc_dms_medusa( chn, chd, mld, xqsr, xdin, xlim,  &  !! inputs 
    42      &  dms_andr, dms_simo, dms_aran, dms_hall dms_andm)           !! outputs 
     42     &  dms_andr, dms_simo, dms_aran, dms_hall, dms_andm)           !! outputs 
    4343!       
    4444!======================================================================= 
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcini_medusa.F90

    r7017 r8132  
    2828   USE trcsed_medusa 
    2929   USE sbc_oce, ONLY: lk_oasis 
    30    USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl  !! Coupling variable 
     30   USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl, chloro_out_cpl  !! Coupling variable 
    3131 
    3232 
     
    265265      !!--------------------------------------------------------------------- 
    266266      !! 
    267       zb_co2_flx(:,:)  = 0.0  !! CHN 
     267      zb_co2_flx(:,:)  = 0.0  !! CO2 flx 
    268268      zn_co2_flx(:,:)  = 0.0 
    269269      za_co2_flx(:,:)  = 0.0 
    270       zb_dms_srf(:,:)  = 0.0  !! CHD 
     270      zb_dms_srf(:,:)  = 0.0  !! DMS srf 
    271271      zn_dms_srf(:,:)  = 0.0 
    272272      za_dms_srf(:,:)  = 0.0 
     273      zn_chl_srf(:,:)  = 0.0  !! Chl srf 
    273274      !! 
    274275      IF(lwp) WRITE(numout,*) ' trc_ini_medusa: DMS and CO2 flux (UKESM) initialised to zero' 
     
    277278         CO2Flux_out_cpl(:,:) =  zn_co2_flx(:,:)   !! Coupling variable 
    278279         DMS_out_cpl(:,:)     =  zn_dms_srf(:,:)   !! Coupling variable 
     280         chloro_out_cpl(:,:)  =  zn_chl_srf(:,:)   !! Coupling variable 
    279281      END IF 
    280282      !! 
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r7709 r8132  
    131131                  ZE_MES_C, ZE_MESDC, ZE_EXCR, ZE_RESP, ZE_GROW, MDETC, GMIDC, GMEDC,                & 
    132132                  INT_ZMI, INT_ZME, INT_DET, INT_DTC, DMS_SURF, DMS_ANDR, DMS_SIMO, DMS_ARAN,        & 
    133                   DMS_HALL, ATM_XCO2, OCN_FCO2, ATM_FCO2, OCN_RHOSW, OCN_SCHCO2, OCN_KWCO2,          & 
    134                   OCN_K0, CO2STARAIR, OCN_DPCO2,                                                     & ! end of regular 2D 
     133                  DMS_HALL, DMS_ANDM, ATM_XCO2, OCN_FCO2, ATM_FCO2, OCN_RHOSW, OCN_SCHCO2,           & 
     134                  OCN_KWCO2, OCN_K0, CO2STARAIR, OCN_DPCO2,                                          & ! end of regular 2D 
    135135                  TPP3, DETFLUX3, REMIN3N, PH3, OM_CAL3,                                             & ! end of regular 3D 
    136136! AXY (11/11/16): additional CMIP6 2D diagnostics 
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r7766 r8132  
    4242   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    4343   USE sbc_oce, ONLY: lk_oasis  
    44    USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl  !! Coupling variable 
     44   USE oce,     ONLY: CO2Flux_out_cpl, DMS_out_cpl, chloro_out_cpl  !! Coupling variable 
    4545 
    4646   IMPLICIT NONE 
     
    247247      !! JPALM 14-06-2016 -- add CO2 flux and DMS surf through the restart 
    248248      !!                  -- needed for the coupling with atm 
    249       IF( iom_varid( numrtr, 'B_DMS_srf', ldstop = .FALSE. ) > 0 ) THEN 
     249      IF( iom_varid( numrtr, 'N_DMS_srf', ldstop = .FALSE. ) > 0 ) THEN 
    250250         IF(lwp) WRITE(numout,*) 'DMS surf concentration - reading in ...' 
    251251         CALL iom_get( numrtr, jpdom_autoglo, 'B_DMS_srf',  zb_dms_srf(:,:)  ) 
     
    271271      IF (lk_oasis) THEN 
    272272         CO2Flux_out_cpl(:,:) =  zn_co2_flx(:,:)   !! Coupling variable 
     273      END IF 
     274      !! 
     275      !! JPALM 02-06-2017 -- in complement to DMS surf  
     276      !!                  -- the atm model needs surf Chl  
     277      !!                     as proxy of org matter from the ocean 
     278      !!                  -- needed for the coupling with atm 
     279      IF( iom_varid( numrtr, 'N_CHL_srf', ldstop = .FALSE. ) > 0 ) THEN 
     280         IF(lwp) WRITE(numout,*) 'Chl surf concentration - reading in ...' 
     281         CALL iom_get( numrtr, jpdom_autoglo, 'N_CHL_srf',  zn_chl_srf(:,:)  ) 
     282      ELSE 
     283         IF(lwp) WRITE(numout,*) 'Chl surf concentration - setting to zero ...' 
     284         zn_chl_srf(:,:)  = 0.0 
     285      ENDIF 
     286      IF (lk_oasis) THEN 
     287         chloro_out_cpl(:,:) = zn_chl_srf(:,:)        !! Coupling variable 
    273288      END IF 
    274289      !! 
     
    282297      call trc_rst_dia_stat(zn_dms_srf(:,:), 'DMS surf') 
    283298      call trc_rst_dia_stat(zn_co2_flx(:,:), 'CO2 flux') 
     299      call trc_rst_dia_stat(zn_chl_srf(:,:), 'CHL surf') 
    284300      !!   
    285301      !! JPALM 14-06-2016 -- add Carbonate chenistry variables through the restart 
     
    441457      CALL iom_rstput( kt, nitrst, numrtw, 'B_CO2_flx',  zb_co2_flx(:,:)  ) 
    442458      CALL iom_rstput( kt, nitrst, numrtw, 'N_CO2_flx',  zn_co2_flx(:,:)  ) 
     459      CALL iom_rstput( kt, nitrst, numrtw, 'N_CHL_srf',  zn_chl_srf(:,:)  ) 
    443460      !! 
    444461      !! calculate stats on these fields 
     
    451468      call trc_rst_dia_stat(zn_dms_srf(:,:), 'DMS surf') 
    452469      call trc_rst_dia_stat(zn_co2_flx(:,:), 'CO2 flux') 
     470      call trc_rst_dia_stat(zn_chl_srf(:,:), 'CHL surf') 
    453471      !! 
    454472      IF(lwp) WRITE(numout,*) ' MEDUSA averaged prop. for dust and iron dep.' 
Note: See TracChangeset for help on using the changeset viewer.