Skip to content
Snippets Groups Projects
Commit 1d3bf289 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 06/10/2022: small fixes for ForeFire

parent ec5e940e
No related branches found
No related tags found
No related merge requests found
!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC for details. version 1.
!##############################
!-----------------------------------------------------------------
!##############################
MODULE MODI_COUPLING_FOREFIRE_n
!##############################
......@@ -82,20 +83,20 @@ INTEGER :: JSV
PSFTQ(:, :) = PSFTQ(:, :) + FF_VAPORFLUX(:, :)
DO JSV = 1, NSV_FF
CALL MNH_GET_DOUBLEARRAY(sScalarVariables(JSV), FF_SVFLUXES(:, :, JSV), FF_MATRIXSIZE, 1)
CALL MNH_GET_DOUBLEARRAY(sScalarVariables(JSV), FF_SVFLUXES(:, :, JSV), FF_MATRIXSIZE, 1)
PSFSV(:, :, NSV_FFBEG-1+JSV) = PSFSV(:, :, NSV_FFBEG-1+JSV) + FF_SVFLUXES(:, :, JSV)
END DO
IF ( LFFCHEM ) THEN
DO JSV = 1, NFFCHEMVAR
CALL MNH_GET_DOUBLEARRAY(sChemicalVariables(JSV), FF_CVFLUXES(:, :, JSV), FF_MATRIXSIZE, 1)
CALL MNH_GET_DOUBLEARRAY(sChemicalVariables(JSV), FF_CVFLUXES(:, :, JSV), FF_MATRIXSIZE, 1)
PSFSV(:, :, FF_CHEMINDICES(JSV)) = PSFSV(:, :, FF_CHEMINDICES(JSV)) + FF_CVFLUXES(:, :, JSV)
END DO
ENDIF
END SUBROUTINE COUPLING_FOREFIRE_n
!##############################################
SUBROUTINE SEND_GROUND_WIND_n (U, V, KG, IINFO)
!##############################################
......@@ -138,7 +139,7 @@ TYPE(LIST_ll), POINTER :: FOREFIREFIELD_ll ! list of fields to exc
FFOUTERWINDV(2,JFF) = V(3,JFF,KG)
FFOUTERWINDV(FF_NX-1,JFF) = V(FF_NX-2,JFF,KG)
END DO
VAL1 = INT(U(2,3,KG)*FFMULT+0.5)
VAL2 = INT(U(3,3,KG)*FFMULT+0.5)
VAL3 = INT(U(3,2,KG)*FFMULT+0.5)
......@@ -176,8 +177,8 @@ TYPE(LIST_ll), POINTER :: FOREFIREFIELD_ll ! list of fields to exc
FFOUTERWINDV(FF_NX-1,FF_NY-1) = VAL1*FFMULT*FFMULT*100 + VAL2*FFMULT*10 + VAL3
NULLIFY(FOREFIREFIELD_ll)
CALL ADD2DFIELD_ll(FOREFIREFIELD_ll,FFOUTERWINDU)
CALL ADD2DFIELD_ll(FOREFIREFIELD_ll,FFOUTERWINDV)
CALL ADD2DFIELD_ll( FOREFIREFIELD_ll, FFOUTERWINDU, 'SEND_GROUND_WIND_n::FFOUTERWINDU' )
CALL ADD2DFIELD_ll( FOREFIREFIELD_ll, FFOUTERWINDV, 'SEND_GROUND_WIND_n::FFOUTERWINDV' )
CALL UPDATE_HALO_ll(FOREFIREFIELD_ll,IINFO)
CALL CLEANLIST_ll(FOREFIREFIELD_ll)
CALL MNH_PUT_DOUBLEARRAY(sOutWindU, FF_TIME, FFOUTERWINDU, FF_MATRIXSIZE, 1)
......@@ -185,7 +186,7 @@ TYPE(LIST_ll), POINTER :: FOREFIREFIELD_ll ! list of fields to exc
END SUBROUTINE SEND_GROUND_WIND_n
!#####################################
SUBROUTINE FOREFIRE_RECEIVE_PARAL_n ()
!#####################################
......@@ -208,7 +209,7 @@ IMPLICIT NONE
END SUBROUTINE FOREFIRE_RECEIVE_PARAL_n
!#######################################
SUBROUTINE FOREFIRE_SEND_PARAL_n (IINFO)
!#######################################
......@@ -238,18 +239,18 @@ TYPE(LIST_ll), POINTER :: FOREFIREFIELD_ll ! list of fields to exch
!* Calling the MNH parallel routines for the forefire-related variables
!
NULLIFY(FOREFIREFIELD_ll)
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_POSX)
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_POSY)
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_VELX)
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_VELY)
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_TIME)
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_ID)
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_POSX, 'FOREFIRE_SEND_PARAL_n::FFNODES_POSX' )
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_POSY, 'FOREFIRE_SEND_PARAL_n::FFNODES_POSY' )
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_VELX, 'FOREFIRE_SEND_PARAL_n::FFNODES_VELX' )
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_VELY, 'FOREFIRE_SEND_PARAL_n::FFNODES_VELY' )
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_TIME, 'FOREFIRE_SEND_PARAL_n::FFNODES_TIME' )
CALL ADD3DFIELD_ll(FOREFIREFIELD_ll, FFNODES_ID, 'FOREFIRE_SEND_PARAL_n::FFNODES_ID' )
CALL UPDATE_HALO_ll(FOREFIREFIELD_ll, IINFO)
CALL CLEANLIST_ll(FOREFIREFIELD_ll)
END SUBROUTINE FOREFIRE_SEND_PARAL_n
!#####################################################
SUBROUTINE FOREFIRE_DUMP_FIELDS_n(U, V, W, MNHSV, TH &
, R, PABS, TKE, NX, NY, NZ)
......@@ -280,7 +281,7 @@ INTEGER :: JSV
FF3DOUT = 1
FFNUMOUT = FFNUMOUT + 1
END IF
IF ( FF3DOUTPUTSFLOW .AND. FF3DOUT.EQ.1 ) THEN
CALL MNH_DUMP_DOUBLEARRAY(FFNMODEL, PROCID, sU, FF_TIME, U, NX*NY*NZ, NX, NY, NZ, 1)
CALL MNH_DUMP_DOUBLEARRAY(FFNMODEL, PROCID, sV, FF_TIME, V, NX*NY*NZ, NX, NY, NZ, 1)
......@@ -290,14 +291,14 @@ INTEGER :: JSV
, FF_TIME, MNHSV(:, :, :, NSV_FFBEG-1+JSV), NX*NY*NZ, NX, NY, NZ, 1)
END DO
END IF
IF ( FF3DOUTPUTSPHYS .AND. FF3DOUT.EQ.1 ) THEN
CALL MNH_DUMP_DOUBLEARRAY(FFNMODEL, PROCID, sT, FF_TIME, TH, NX*NY*NZ, NX, NY, NZ, 1)
CALL MNH_DUMP_DOUBLEARRAY(FFNMODEL, PROCID, sMoist, FF_TIME, R, NX*NY*NZ, NX, NY, NZ, 1)
CALL MNH_DUMP_DOUBLEARRAY(FFNMODEL, PROCID, sP, FF_TIME, PABS, NX*NY*NZ, NX, NY, NZ, 1)
CALL MNH_DUMP_DOUBLEARRAY(FFNMODEL, PROCID, sTKE, FF_TIME, TKE, NX*NY*NZ, NX, NY, NZ, 1)
END IF
IF ( LFFCHEM .AND. FF3DOUTPUTSCHEM .AND. FF3DOUT.EQ.1 ) THEN
DO JSV = 1, NFFCHEMVAR
CALL MNH_DUMP_DOUBLEARRAY(FFNMODEL, PROCID, cast_char_to_c(CNAMES(FF_CHEMINDICES(JSV))) &
......@@ -308,7 +309,7 @@ INTEGER :: JSV
, FF_TIME, MNHSV(:, :, :, FF_CHEMINDOUT(JSV)), NX*NY*NZ, NX, NY, NZ, 1)
END DO
END IF
FF3DOUT = 0
END SUBROUTINE FOREFIRE_DUMP_FIELDS_n
!MNH_LIC Copyright 1999-2021 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC Copyright 1999-2022 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC for details. version 1.
......@@ -104,7 +104,9 @@ USE MODD_NSV, only: NSV_A, NSV_C1R3BEG_A, NSV_C1R3_A, NSV_C2R2BEG_A,
NSV_ELECBEG_A, NSV_ELEC_A, NSV_LGBEG_A, NSV_LG_A, NSV_LIMA_A, NSV_LIMA_BEG_A, &
NSV_LNOXBEG_A, NSV_LNOX_A, NSV_PPBEG_A, NSV_PP_A, &
NSV_SLTBEG_A, NSV_SLTDEPBEG_A, NSV_SLTDEP_A, NSV_SLT_A, NSV_USER_A
#ifdef MNH_FOREFIRE
USE MODD_NSV, only: NSV_FF_A, NSV_FFBEG_A
#endif
USE MODD_PARAM_n, only: CCLOUD
USE MODD_REF, ONLY: LCOUPLES
USE MODD_REF_n, only: XRHODJ, XRHODREF
......
!MNH_LIC Copyright 1996-2021 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC Copyright 1996-2022 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC for details. version 1.
......@@ -137,7 +137,9 @@ USE MODD_NSV, only: NSV_A, NSV_C1R3BEG_A, NSV_C1R3_A, NSV_C2R2BEG_A,
NSV_PPBEG_A, NSV_PP_A, &
NSV_SLTBEG_A, NSV_SLT_A, NSV_USER_A, &
NSV_AERBEG_A, NSV_AER_A, NSV_CSBEG_A, NSV_CS_A
#ifdef MNH_FOREFIRE
USE MODD_NSV, only: NSV_FF_A, NSV_FFBEG_A
#endif
USE MODD_PARAMETERS, only: JPHEXT, JPVEXT
USE MODD_PARAM_n, only: CCLOUD
USE MODD_REF, ONLY: LCOUPLES
......
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