Skip to content
Snippets Groups Projects
Commit e928a8f6 authored by WURTZ Jean's avatar WURTZ Jean
Browse files

Some adaptation in oasis for SFXv9

parent 11d92ed1
No related branches found
No related tags found
No related merge requests found
...@@ -75,13 +75,14 @@ SUBROUTINE MNH_OASIS_RECV (HPROGRAM,KI,KSW,PTIMEC,PTSTEP_SURF, & ...@@ -75,13 +75,14 @@ SUBROUTINE MNH_OASIS_RECV (HPROGRAM,KI,KSW,PTIMEC,PTSTEP_SURF, &
USE MODN_SFX_OASIS, ONLY : XTSTEP_CPL_LAND, & USE MODN_SFX_OASIS, ONLY : XTSTEP_CPL_LAND, &
XTSTEP_CPL_SEA, & XTSTEP_CPL_SEA, &
XTSTEP_CPL_WAVE, & XTSTEP_CPL_WAVE, &
LWATER LWATER, LSEACARB
! !
USE MODD_SFX_OASIS, ONLY : LCPL_LAND, & USE MODD_SFX_OASIS, ONLY : LCPL_LAND, &
LCPL_GW,LCPL_FLOOD,& LCPL_GW,LCPL_FLOOD,&
LCPL_SEA, & LCPL_SEA, &
LCPL_SEAICE, & LCPL_SEAICE, &
LCPL_WAVE LCPL_WAVE, &
LSEAICE_2FLX
! !
USE MODD_SURF_PAR, ONLY : XUNDEF USE MODD_SURF_PAR, ONLY : XUNDEF
USE MODD_MNH_SURFEX_n USE MODD_MNH_SURFEX_n
...@@ -122,12 +123,14 @@ REAL, DIMENSION(KI) :: ZLAND_WTD ! Land water table depth (m) ...@@ -122,12 +123,14 @@ REAL, DIMENSION(KI) :: ZLAND_WTD ! Land water table depth (m)
REAL, DIMENSION(KI) :: ZLAND_FWTD ! Land grid-cell fraction of water table rise (-) REAL, DIMENSION(KI) :: ZLAND_FWTD ! Land grid-cell fraction of water table rise (-)
REAL, DIMENSION(KI) :: ZLAND_FFLOOD ! Land Floodplains fraction (-) REAL, DIMENSION(KI) :: ZLAND_FFLOOD ! Land Floodplains fraction (-)
REAL, DIMENSION(KI) :: ZLAND_PIFLOOD ! Land Potential flood infiltration(kg/m2/s) REAL, DIMENSION(KI) :: ZLAND_PIFLOOD ! Land Potential flood infiltration(kg/m2/s)
REAL, DIMENSION(KI) :: ZLAND_TWS ! RRM terrestrial water storage (kg/m2)
REAL, DIMENSION(KI) :: ZSEA_SST ! Sea surface temperature (K) REAL, DIMENSION(KI) :: ZSEA_SST ! Sea surface temperature (K)
REAL, DIMENSION(KI) :: ZSEA_UCU ! Sea u-current stress (Pa) REAL, DIMENSION(KI) :: ZSEA_UCU ! Sea u-current stress (Pa)
REAL, DIMENSION(KI) :: ZSEA_VCU ! Sea v-current stress (Pa) REAL, DIMENSION(KI) :: ZSEA_VCU ! Sea v-current stress (Pa)
REAL, DIMENSION(KI) :: ZSEAICE_SIT ! Sea-ice Temperature (K) REAL, DIMENSION(KI) :: ZSEAICE_SIT ! Sea-ice Temperature (K)
REAL, DIMENSION(KI) :: ZSEAICE_CVR ! Sea-ice cover (-) REAL, DIMENSION(KI) :: ZSEAICE_CVR ! Sea-ice cover (-)
REAL, DIMENSION(KI) :: ZSEAICE_ALB ! Sea-ice albedo (-) REAL, DIMENSION(KI) :: ZSEAICE_ALB ! Sea-ice albedo (-)
REAL, DIMENSION(KI) :: ZSEA_FCO2 ! Sea CO2 Flux
REAL, DIMENSION(KI) :: ZWAVE_CHA ! Charnock coefficient (-) REAL, DIMENSION(KI) :: ZWAVE_CHA ! Charnock coefficient (-)
REAL, DIMENSION(KI) :: ZWAVE_UCU ! u-current velocity (m/s) REAL, DIMENSION(KI) :: ZWAVE_UCU ! u-current velocity (m/s)
REAL, DIMENSION(KI) :: ZWAVE_VCU ! v-current velocity (m/s) REAL, DIMENSION(KI) :: ZWAVE_VCU ! v-current velocity (m/s)
...@@ -161,6 +164,7 @@ IF(GRECV_LAND)THEN ...@@ -161,6 +164,7 @@ IF(GRECV_LAND)THEN
ZLAND_FWTD (:) = XUNDEF ZLAND_FWTD (:) = XUNDEF
ZLAND_FFLOOD (:) = XUNDEF ZLAND_FFLOOD (:) = XUNDEF
ZLAND_PIFLOOD(:) = XUNDEF ZLAND_PIFLOOD(:) = XUNDEF
ZLAND_TWS (:) = XUNDEF
ENDIF ENDIF
! !
IF(GRECV_SEA)THEN IF(GRECV_SEA)THEN
...@@ -170,6 +174,7 @@ IF(GRECV_SEA)THEN ...@@ -170,6 +174,7 @@ IF(GRECV_SEA)THEN
ZSEAICE_SIT(:) = XUNDEF ZSEAICE_SIT(:) = XUNDEF
ZSEAICE_CVR(:) = XUNDEF ZSEAICE_CVR(:) = XUNDEF
ZSEAICE_ALB(:) = XUNDEF ZSEAICE_ALB(:) = XUNDEF
ZSEA_FCO2(:) = XUNDEF
ENDIF ENDIF
! !
IF(GRECV_WAVE)THEN IF(GRECV_WAVE)THEN
...@@ -189,8 +194,10 @@ CALL SFX_OASIS_RECV(HPROGRAM,IGPTOT,KI,KSW,ZTIME_CPL, & ...@@ -189,8 +194,10 @@ CALL SFX_OASIS_RECV(HPROGRAM,IGPTOT,KI,KSW,ZTIME_CPL, &
GRECV_LAND, GRECV_SEA, GRECV_WAVE, & GRECV_LAND, GRECV_SEA, GRECV_WAVE, &
ZLAND_WTD (:),ZLAND_FWTD (:), & ZLAND_WTD (:),ZLAND_FWTD (:), &
ZLAND_FFLOOD (:),ZLAND_PIFLOOD(:), & ZLAND_FFLOOD (:),ZLAND_PIFLOOD(:), &
ZSEA_SST (:),ZSEA_UCU (:), & ZLAND_TWS (:), &
ZSEA_VCU (:),ZSEAICE_SIT (:), & ZSEA_SST (:), &
ZSEA_UCU (:),ZSEA_VCU (:), &
ZSEA_FCO2 (:),ZSEAICE_SIT (:), &
ZSEAICE_CVR (:),ZSEAICE_ALB (:), & ZSEAICE_CVR (:),ZSEAICE_ALB (:), &
ZWAVE_CHA (:),ZWAVE_UCU (:), & ZWAVE_CHA (:),ZWAVE_UCU (:), &
ZWAVE_VCU (:),ZWAVE_HS (:), & ZWAVE_VCU (:),ZWAVE_HS (:), &
...@@ -209,7 +216,7 @@ IF(GRECV_LAND)THEN ...@@ -209,7 +216,7 @@ IF(GRECV_LAND)THEN
YSURF_CUR%IM%NK, YSURF_CUR%IM%NP, YSURF_CUR%U, & YSURF_CUR%IM%NK, YSURF_CUR%IM%NP, YSURF_CUR%U, &
ILUOUT,LCPL_GW,LCPL_FLOOD, & ILUOUT,LCPL_GW,LCPL_FLOOD, &
ZLAND_WTD (:),ZLAND_FWTD (:), & ZLAND_WTD (:),ZLAND_FWTD (:), &
ZLAND_FFLOOD(:),ZLAND_PIFLOOD(:) ) ZLAND_FFLOOD(:),ZLAND_PIFLOOD(:), ZLAND_TWS )
ENDIF ENDIF
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
...@@ -218,10 +225,10 @@ ENDIF ...@@ -218,10 +225,10 @@ ENDIF
! !
IF(GRECV_SEA)THEN IF(GRECV_SEA)THEN
CALL PUT_SFX_SEA(YSURF_CUR%SM%S, YSURF_CUR%U, YSURF_CUR%WM%W, & CALL PUT_SFX_SEA(YSURF_CUR%SM%S, YSURF_CUR%U, YSURF_CUR%WM%W, &
ILUOUT,LCPL_SEAICE,LWATER, & ILUOUT,LCPL_SEAICE, LSEAICE_2FLX,LWATER, LSEACARB, &
ZSEA_SST (:),ZSEA_UCU (:), & ZSEA_SST (:),ZSEA_UCU (:), &
ZSEA_VCU (:),ZSEAICE_SIT(:), & ZSEA_VCU (:), ZSEA_FCO2(:), ZSEAICE_SIT(:), &
ZSEAICE_CVR(:),ZSEAICE_ALB(:) ) ZSEAICE_CVR(:), ZSEAICE_ALB(:) )
ENDIF ENDIF
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
......
...@@ -63,10 +63,11 @@ USE MODN_SFX_OASIS, ONLY : XTSTEP_CPL_LAND, & ...@@ -63,10 +63,11 @@ USE MODN_SFX_OASIS, ONLY : XTSTEP_CPL_LAND, &
XTSTEP_CPL_LAKE, & XTSTEP_CPL_LAKE, &
XTSTEP_CPL_SEA , & XTSTEP_CPL_SEA , &
XTSTEP_CPL_WAVE, & XTSTEP_CPL_WAVE, &
LWATER LWATER,LSEACARB
! !
USE MODD_SFX_OASIS, ONLY : LCPL_LAND,LCPL_GW, & USE MODD_SFX_OASIS, ONLY : LCPL_LAND,LCPL_GW, &
LCPL_FLOOD,LCPL_CALVING, & LCPL_FLOOD,LCPL_CALVING, &
LCPL_RIVCARB, &
LCPL_LAKE, & LCPL_LAKE, &
LCPL_SEA,LCPL_SEAICE, & LCPL_SEA,LCPL_SEAICE, &
LCPL_WAVE LCPL_WAVE
...@@ -97,7 +98,8 @@ REAL, INTENT(IN) :: PSTEP_SURF ! Model time step (s) ...@@ -97,7 +98,8 @@ REAL, INTENT(IN) :: PSTEP_SURF ! Model time step (s)
REAL, DIMENSION(KI) :: ZLAND_RUNOFF ! Cumulated Surface runoff (kg/m2) REAL, DIMENSION(KI) :: ZLAND_RUNOFF ! Cumulated Surface runoff (kg/m2)
REAL, DIMENSION(KI) :: ZLAND_DRAIN ! Cumulated Deep drainage (kg/m2) REAL, DIMENSION(KI) :: ZLAND_DRAIN ! Cumulated Deep drainage (kg/m2)
REAL, DIMENSION(KI) :: ZLAND_CALVING ! Cumulated Calving flux (kg/m2) REAL, DIMENSION(KI) :: ZLAND_CALVING ! Cumulated Calving flux (kg/m2)
REAL, DIMENSION(KI) :: ZLAND_RECHARGE ! Cumulated Recharge to groundwater (kg/m2) REAL, DIMENSION(KI) :: ZLAND_SRCFLOOD ! Cumulated freshwater flux (kg/m2)
REAL, DIMENSION(KI) :: ZLAND_DOCFLUX ! Cumulated doc flux (kg/m2)
! !
REAL, DIMENSION(KI) :: ZLAKE_EVAP ! Cumulated Evaporation (kg/m2) REAL, DIMENSION(KI) :: ZLAKE_EVAP ! Cumulated Evaporation (kg/m2)
REAL, DIMENSION(KI) :: ZLAKE_RAIN ! Cumulated Rainfall rate (kg/m2) REAL, DIMENSION(KI) :: ZLAKE_RAIN ! Cumulated Rainfall rate (kg/m2)
...@@ -119,6 +121,7 @@ REAL, DIMENSION(KI) :: ZSEA_PRES ! Cumulated Surface pressure (Pa.s) ...@@ -119,6 +121,7 @@ REAL, DIMENSION(KI) :: ZSEA_PRES ! Cumulated Surface pressure (Pa.s)
REAL, DIMENSION(KI) :: ZSEAICE_HEAT ! Cumulated Sea-ice non solar net heat flux (J/m2) REAL, DIMENSION(KI) :: ZSEAICE_HEAT ! Cumulated Sea-ice non solar net heat flux (J/m2)
REAL, DIMENSION(KI) :: ZSEAICE_SNET ! Cumulated Sea-ice solar net heat flux (J/m2) REAL, DIMENSION(KI) :: ZSEAICE_SNET ! Cumulated Sea-ice solar net heat flux (J/m2)
REAL, DIMENSION(KI) :: ZSEAICE_EVAP ! Cumulated Sea-ice sublimation (kg/m2) REAL, DIMENSION(KI) :: ZSEAICE_EVAP ! Cumulated Sea-ice sublimation (kg/m2)
REAL, DIMENSION(KI) :: ZSEA_CO2 !
! !
REAL, DIMENSION(KI) :: ZWAVE_U10 ! 10m u-wind speed (m/s) REAL, DIMENSION(KI) :: ZWAVE_U10 ! 10m u-wind speed (m/s)
REAL, DIMENSION(KI) :: ZWAVE_V10 ! 10m v-wind speed (m/s) REAL, DIMENSION(KI) :: ZWAVE_V10 ! 10m v-wind speed (m/s)
...@@ -154,7 +157,6 @@ IF(GSEND_LAND)THEN ...@@ -154,7 +157,6 @@ IF(GSEND_LAND)THEN
ZLAND_RUNOFF (:) = XUNDEF ZLAND_RUNOFF (:) = XUNDEF
ZLAND_DRAIN (:) = XUNDEF ZLAND_DRAIN (:) = XUNDEF
ZLAND_CALVING (:) = XUNDEF ZLAND_CALVING (:) = XUNDEF
ZLAND_RECHARGE(:) = XUNDEF
ENDIF ENDIF
! !
IF(GSEND_LAKE)THEN IF(GSEND_LAKE)THEN
...@@ -180,6 +182,7 @@ IF(GSEND_SEA)THEN ...@@ -180,6 +182,7 @@ IF(GSEND_SEA)THEN
ZSEAICE_HEAT (:) = XUNDEF ZSEAICE_HEAT (:) = XUNDEF
ZSEAICE_SNET (:) = XUNDEF ZSEAICE_SNET (:) = XUNDEF
ZSEAICE_EVAP (:) = XUNDEF ZSEAICE_EVAP (:) = XUNDEF
ZSEA_CO2 (:) = XUNDEF
ENDIF ENDIF
! !
IF(GSEND_WAVE)THEN IF(GSEND_WAVE)THEN
...@@ -197,9 +200,9 @@ IF(GSEND_LAND)THEN ...@@ -197,9 +200,9 @@ IF(GSEND_LAND)THEN
! * Get river output fields ! * Get river output fields
! !
CALL GET_SFX_LAND(YSURF_CUR%IM%O, YSURF_CUR%IM%S, YSURF_CUR%U, & CALL GET_SFX_LAND(YSURF_CUR%IM%O, YSURF_CUR%IM%S, YSURF_CUR%U, &
LCPL_GW,LCPL_FLOOD,LCPL_CALVING, & LCPL_GW,LCPL_FLOOD,LCPL_CALVING, LCPL_RIVCARB, &
ZLAND_RUNOFF (:),ZLAND_DRAIN (:), & ZLAND_RUNOFF (:),ZLAND_DRAIN (:), &
ZLAND_CALVING(:),ZLAND_RECHARGE(:) ) ZLAND_CALVING(:),ZLAND_SRCFLOOD(:), ZLAND_DOCFLUX(:) )
! !
ENDIF ENDIF
! !
...@@ -218,11 +221,11 @@ IF(GSEND_SEA)THEN ...@@ -218,11 +221,11 @@ IF(GSEND_SEA)THEN
! * Get sea output fields ! * Get sea output fields
! !
CALL GET_SFX_SEA(YSURF_CUR%SM%S, YSURF_CUR%U, YSURF_CUR%WM%W, & CALL GET_SFX_SEA(YSURF_CUR%SM%S, YSURF_CUR%U, YSURF_CUR%WM%W, &
LCPL_SEAICE, LWATER, & LCPL_SEAICE, LWATER, LSEACARB, &
ZSEA_FWSU (:),ZSEA_FWSV (:),ZSEA_HEAT (:),& ZSEA_FWSU (:),ZSEA_FWSV (:),ZSEA_HEAT (:),&
ZSEA_SNET (:),ZSEA_WIND (:),ZSEA_FWSM (:),& ZSEA_SNET (:),ZSEA_WIND (:),ZSEA_FWSM (:),&
ZSEA_EVAP (:),ZSEA_RAIN (:),ZSEA_SNOW (:),& ZSEA_EVAP (:),ZSEA_RAIN (:),ZSEA_SNOW (:),&
ZSEA_WATF (:),ZSEA_PRES (:), & ZSEA_WATF (:),ZSEA_PRES (:),ZSEA_CO2 (:),&
ZSEAICE_HEAT(:),ZSEAICE_SNET(:),ZSEAICE_EVAP(:) ) ZSEAICE_HEAT(:),ZSEAICE_SNET(:),ZSEAICE_EVAP(:) )
! !
ENDIF ENDIF
...@@ -243,7 +246,8 @@ ENDIF ...@@ -243,7 +246,8 @@ ENDIF
! ---------------------------------- ! ----------------------------------
! !
CALL SFX_OASIS_SEND(ILUOUT,KI,IDATE,GSEND_LAND,GSEND_LAKE,GSEND_SEA,GSEND_WAVE, & CALL SFX_OASIS_SEND(ILUOUT,KI,IDATE,GSEND_LAND,GSEND_LAKE,GSEND_SEA,GSEND_WAVE, &
ZLAND_RUNOFF,ZLAND_DRAIN,ZLAND_CALVING,ZLAND_RECHARGE, & ZLAND_RUNOFF,ZLAND_DRAIN,ZLAND_CALVING, &
ZLAND_SRCFLOOD,ZLAND_DOCFLUX, &
ZLAKE_EVAP,ZLAKE_RAIN,ZLAKE_SNOW,ZLAKE_WATF, & ZLAKE_EVAP,ZLAKE_RAIN,ZLAKE_SNOW,ZLAKE_WATF, &
ZSEA_FWSU,ZSEA_FWSV,ZSEA_HEAT,ZSEA_SNET,ZSEA_WIND, & ZSEA_FWSU,ZSEA_FWSV,ZSEA_HEAT,ZSEA_SNET,ZSEA_WIND, &
ZSEA_FWSM,ZSEA_EVAP,ZSEA_RAIN,ZSEA_SNOW, & ZSEA_FWSM,ZSEA_EVAP,ZSEA_RAIN,ZSEA_SNOW, &
......
...@@ -104,6 +104,7 @@ INTEGER :: NLAKE_WATF_ID ! Freshwater id ...@@ -104,6 +104,7 @@ INTEGER :: NLAKE_WATF_ID ! Freshwater id
LOGICAL :: LCPL_SEA = .FALSE. ! Fields to/from surfex sea/water area LOGICAL :: LCPL_SEA = .FALSE. ! Fields to/from surfex sea/water area
LOGICAL :: LCPL_SEAICE = .FALSE. ! Fields to/from surfex sea-ice area (e.g. GELATO 3D, ...) LOGICAL :: LCPL_SEAICE = .FALSE. ! Fields to/from surfex sea-ice area (e.g. GELATO 3D, ...)
LOGICAL :: LCPL_SEACARB = .FALSE. ! Fields to/from surfex related to carbon cycle (e.g. PISCES 3D, ...) LOGICAL :: LCPL_SEACARB = .FALSE. ! Fields to/from surfex related to carbon cycle (e.g. PISCES 3D, ...)
LOGICAL :: LSEAICE_2FLX = .FALSE. ! Fields to/from surfex sea-ice area
! !
! Sea Output variables ! Sea Output variables
! !
......
...@@ -148,6 +148,11 @@ LOGICAL :: LWATER = .FALSE. ...@@ -148,6 +148,11 @@ LOGICAL :: LWATER = .FALSE.
! !
LOGICAL :: LSEAICE_2FLX = .FALSE. LOGICAL :: LSEAICE_2FLX = .FALSE.
! !
!
! Switch to activate sea carbon coupling
!
LOGICAL :: LSEACARB = .FALSE.
!
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
!* 1. NAMELISTS FOR LAND SURFACE FIELD !* 1. NAMELISTS FOR LAND SURFACE FIELD
...@@ -175,7 +180,7 @@ NAMELIST/NAM_SFX_SEA_CPL/XTSTEP_CPL_SEA, LWATER, LSEAICE_2FLX, & ...@@ -175,7 +180,7 @@ NAMELIST/NAM_SFX_SEA_CPL/XTSTEP_CPL_SEA, LWATER, LSEAICE_2FLX, &
CSEA_WATF,CSEA_PRES,CSEAICE_HEAT,CSEAICE_SNET, & CSEA_WATF,CSEA_PRES,CSEAICE_HEAT,CSEAICE_SNET, &
CSEAICE_EVAP,CSEA_SST,CSEA_UCU,CSEA_VCU, & CSEAICE_EVAP,CSEA_SST,CSEA_UCU,CSEA_VCU, &
CSEAICE_SIT,CSEAICE_CVR,CSEAICE_ALB, & CSEAICE_SIT,CSEAICE_CVR,CSEAICE_ALB, &
CSEA_CO2,CSEA_FCO2 CSEA_CO2,CSEA_FCO2, LSEACARB !not sure about the name of this namelist
! !
!* 4. NAMELISTS FOR WAVE FIELD !* 4. NAMELISTS FOR WAVE FIELD
! --------------------------------------------------------------- ! ---------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment