Skip to content
Snippets Groups Projects
Commit 6699f30c authored by Juan Escobar's avatar Juan Escobar
Browse files

Maud & Juan 1/07/2017: Add DIAG chimical surface fluxes

parent f05dd016
No related branches found
No related tags found
No related merge requests found
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
!! 2014 (Faivre) !! 2014 (Faivre)
!! 2016 (Leriche) Add MODD_CH_ICE Suppress MODD_CH_DEP_n !! 2016 (Leriche) Add MODD_CH_ICE Suppress MODD_CH_DEP_n
!! Modification 01/2016 (JP Pinty) Add LIMA !! Modification 01/2016 (JP Pinty) Add LIMA
!! 07/2017 (M.Leriche) Add DIAG chimical surface fluxes
!----------------------------------------------------------------- !-----------------------------------------------------------------
MODULE MODI_GOTO_MODEL_WRAPPER MODULE MODI_GOTO_MODEL_WRAPPER
...@@ -31,6 +32,7 @@ SUBROUTINE GOTO_MODEL_WRAPPER(KFROM, KTO) ...@@ -31,6 +32,7 @@ SUBROUTINE GOTO_MODEL_WRAPPER(KFROM, KTO)
USE MODD_ADV_n USE MODD_ADV_n
USE MODD_BIKHARDT_n USE MODD_BIKHARDT_n
USE MODD_CH_AERO_n USE MODD_CH_AERO_n
USE MODD_CH_FLX_n
USE MODD_CH_JVALUES_n USE MODD_CH_JVALUES_n
USE MODD_CH_MNHC_n USE MODD_CH_MNHC_n
USE MODD_CH_SOLVER_n USE MODD_CH_SOLVER_n
...@@ -115,6 +117,7 @@ INTEGER,INTENT(IN) :: KFROM, KTO ...@@ -115,6 +117,7 @@ INTEGER,INTENT(IN) :: KFROM, KTO
CALL ADV_GOTO_MODEL(KFROM, KTO) CALL ADV_GOTO_MODEL(KFROM, KTO)
CALL BIKHARDT_GOTO_MODEL(KFROM, KTO) CALL BIKHARDT_GOTO_MODEL(KFROM, KTO)
CALL CH_AERO_GOTO_MODEL(KFROM,KTO) CALL CH_AERO_GOTO_MODEL(KFROM,KTO)
CALL CH_FLX_GOTO_MODEL(KFROM, KTO)
CALL CH_JVALUES_GOTO_MODEL(KFROM, KTO) CALL CH_JVALUES_GOTO_MODEL(KFROM, KTO)
CALL CH_MNHC_GOTO_MODEL(KFROM, KTO) CALL CH_MNHC_GOTO_MODEL(KFROM, KTO)
CALL CH_SOLVER_GOTO_MODEL(KFROM, KTO) CALL CH_SOLVER_GOTO_MODEL(KFROM, KTO)
......
...@@ -105,6 +105,7 @@ END MODULE MODI_GROUND_PARAM_n ...@@ -105,6 +105,7 @@ END MODULE MODI_GROUND_PARAM_n
!! (J.escobar) 18/10/2012 missing USE MODI_COUPLING_SURF_ATM_n & MODI_DIAG_SURF_ATM_n !! (J.escobar) 18/10/2012 missing USE MODI_COUPLING_SURF_ATM_n & MODI_DIAG_SURF_ATM_n
! (J.escobar) 2/2014 add Forefire coupling ! (J.escobar) 2/2014 add Forefire coupling
!! (M.Leriche) 24/03/16 remove flag for chemical surface fluxes !! (M.Leriche) 24/03/16 remove flag for chemical surface fluxes
!! (M.Leriche) 01/07/2017 Add DIAG chimical surface fluxes
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
!* 0. DECLARATIONS !* 0. DECLARATIONS
...@@ -139,6 +140,8 @@ USE MODD_SALT, ONLY : LSALT ...@@ -139,6 +140,8 @@ USE MODD_SALT, ONLY : LSALT
USE MODD_CH_AEROSOL, ONLY : LORILAM USE MODD_CH_AEROSOL, ONLY : LORILAM
USE MODD_CSTS_DUST, ONLY : XMOLARWEIGHT_DUST USE MODD_CSTS_DUST, ONLY : XMOLARWEIGHT_DUST
USE MODD_CSTS_SALT, ONLY : XMOLARWEIGHT_SALT USE MODD_CSTS_SALT, ONLY : XMOLARWEIGHT_SALT
USE MODD_CH_FLX_n, ONLY : XCHFLX
USE MODD_DIAG_FLAG, ONLY : LCHEMDIAG
! !
USE MODI_NORMAL_INTERPOL USE MODI_NORMAL_INTERPOL
USE MODI_ROTATE_WIND USE MODI_ROTATE_WIND
...@@ -585,6 +588,7 @@ END IF ...@@ -585,6 +588,7 @@ END IF
IF (LUSECHEM) THEN IF (LUSECHEM) THEN
DO JSV=NSV_CHEMBEG,NSV_CHEMEND DO JSV=NSV_CHEMBEG,NSV_CHEMEND
PSFSV(:,:,JSV) = ZSFTS(:,:,JSV) * XMD / ( XAVOGADRO * XRHODREF(:,:,IKB)) PSFSV(:,:,JSV) = ZSFTS(:,:,JSV) * XMD / ( XAVOGADRO * XRHODREF(:,:,IKB))
IF ((LCHEMDIAG).AND.(CPROGRAM == 'DIAG ')) XCHFLX(:,:,JSV) = PSFSV(:,:,JSV)
END DO END DO
ELSE ELSE
PSFSV(:,:,NSV_CHEMBEG:NSV_CHEMEND) = 0. PSFSV(:,:,NSV_CHEMBEG:NSV_CHEMEND) = 0.
......
...@@ -266,6 +266,8 @@ END MODULE MODI_INI_MODEL_n ...@@ -266,6 +266,8 @@ END MODULE MODI_INI_MODEL_n
!! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files
!! J.Escobar : 01/06/2016 : correct check limit of NRIM versus local subdomain size IDIM !! J.Escobar : 01/06/2016 : correct check limit of NRIM versus local subdomain size IDIM
!! M.Leriche 2016 Chemistry !! M.Leriche 2016 Chemistry
!! M.Leriche 10/02/17 prevent negative values in LBX(Y)SVS
!! M.Leriche 01/07/2017 Add DIAG chimical surface fluxes
!--------------------------------------------------------------------------------- !---------------------------------------------------------------------------------
! !
!* 0. DECLARATIONS !* 0. DECLARATIONS
...@@ -321,6 +323,7 @@ USE MODD_CH_MNHC_n, ONLY : LUSECHEM, LUSECHAQ, LUSECHIC, LCH_INIT_FIELD, & ...@@ -321,6 +323,7 @@ USE MODD_CH_MNHC_n, ONLY : LUSECHEM, LUSECHAQ, LUSECHIC, LCH_INIT_FIELD, &
USE MODD_CH_PH_n USE MODD_CH_PH_n
USE MODD_CH_AEROSOL, ONLY : LORILAM USE MODD_CH_AEROSOL, ONLY : LORILAM
USE MODD_CH_AERO_n, ONLY : XSOLORG,XMI USE MODD_CH_AERO_n, ONLY : XSOLORG,XMI
USE MODD_CH_FLX_n, ONLY : XCHFLX
USE MODD_PARAM_KAFR_n USE MODD_PARAM_KAFR_n
USE MODD_PARAM_MFSHALL_n USE MODD_PARAM_MFSHALL_n
USE MODD_DEEP_CONVECTION_n USE MODD_DEEP_CONVECTION_n
...@@ -1458,6 +1461,10 @@ IF (LUSECHAQ.AND.(CPROGRAM == 'DIAG '.OR.CPROGRAM == 'MESONH')) THEN ...@@ -1458,6 +1461,10 @@ IF (LUSECHAQ.AND.(CPROGRAM == 'DIAG '.OR.CPROGRAM == 'MESONH')) THEN
XACPRAQ(:,:,:) = 0. XACPRAQ(:,:,:) = 0.
ENDIF ENDIF
ENDIF ENDIF
IF ((LUSECHEM).AND.(CPROGRAM == 'DIAG ')) THEN
ALLOCATE(XCHFLX(IIU,IJU,NSV_CHEM))
XCHFLX(:,:,:) = 0.
END IF
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
......
...@@ -83,6 +83,7 @@ END MODULE MODI_WRITE_LFIFM1_FOR_DIAG_SUPP ...@@ -83,6 +83,7 @@ END MODULE MODI_WRITE_LFIFM1_FOR_DIAG_SUPP
!! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 !! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1
!! P.Tulet : Diag for salt and orilam !! P.Tulet : Diag for salt and orilam
!! J.-P. Chaboureau 07/03/2016 fix the dimensions of local arrays !! J.-P. Chaboureau 07/03/2016 fix the dimensions of local arrays
!! M.Leriche 01/07/2017 Add DIAG chimical surface fluxes
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
!* 0. DECLARATIONS !* 0. DECLARATIONS
...@@ -117,6 +118,7 @@ USE MODD_LG, ONLY: CLGNAMES ...@@ -117,6 +118,7 @@ USE MODD_LG, ONLY: CLGNAMES
USE MODD_DUST, ONLY: LDUST USE MODD_DUST, ONLY: LDUST
USE MODD_SALT, ONLY: LSALT USE MODD_SALT, ONLY: LSALT
USE MODD_CH_AEROSOL, ONLY: LORILAM USE MODD_CH_AEROSOL, ONLY: LORILAM
USE MODD_CH_FLX_n, ONLY: XCHFLX
USE MODD_RAD_TRANSF USE MODD_RAD_TRANSF
USE MODD_DIAG_IN_RUN, ONLY: XCURRENT_ZON10M,XCURRENT_MER10M, & USE MODD_DIAG_IN_RUN, ONLY: XCURRENT_ZON10M,XCURRENT_MER10M, &
XCURRENT_SFCO2, XCURRENT_SW, XCURRENT_LW XCURRENT_SFCO2, XCURRENT_SW, XCURRENT_LW
...@@ -690,6 +692,22 @@ IF (NRAD_3D >= 1) THEN ...@@ -690,6 +692,22 @@ IF (NRAD_3D >= 1) THEN
END IF END IF
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! Net surface gaseous fluxes
!print*,'LCHEMDIAG, NSV_CHEMBEG, NSV_CHEMEND=',&
!LCHEMDIAG, NSV_CHEMBEG, NSV_CHEMEND
IF (LCHEMDIAG) THEN
DO JSV = NSV_CHEMBEG, NSV_CHEMEND
YRECFM = 'FLX_'//TRIM(CNAMES(JSV-NSV_CHEMBEG+1))
WRITE(YCOMMENT,'(A6,A,A26)')'X_Y_Z_',TRIM(CNAMES(JSV-NSV_CHEMBEG+1)), &
' Net chemical flux ppb.m/s'
ILENCH = LEN(YCOMMENT)
ZWORK21(:,:) = XCHFLX(:,:,JSV-NSV_CHEMBEG+1) * 1E9
CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY', ZWORK21(:,:), &
IGRID,ILENCH,YCOMMENT,IRESP)
END DO
END IF
!-------------------------------------------------------------------------------
! !
!* Brightness temperatures from the radiatif transfer code (Morcrette, 1991) !* Brightness temperatures from the radiatif transfer code (Morcrette, 1991)
! !
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment