diff --git a/src/LIB/FOREFIRE/coupling_forefiren.f90 b/src/LIB/FOREFIRE/coupling_forefiren.f90 index 8d5dde80b6873f4caa1f040cbe0233a4a72d1e72..0791f7f1cca1272e036f8a3d32cfd1ea5bec888d 100644 --- a/src/LIB/FOREFIRE/coupling_forefiren.f90 +++ b/src/LIB/FOREFIRE/coupling_forefiren.f90 @@ -1,8 +1,9 @@ -!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 diff --git a/src/MNH/ini_one_wayn.f90 b/src/MNH/ini_one_wayn.f90 index 78e025b2a89dea147d8cac40f2124c1d7412ac72..c18ff402abe26556640f5cd8acbee57b5b75e108 100644 --- a/src/MNH/ini_one_wayn.f90 +++ b/src/MNH/ini_one_wayn.f90 @@ -1,4 +1,4 @@ -!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 diff --git a/src/MNH/one_wayn.f90 b/src/MNH/one_wayn.f90 index eac7238d63ed4e9ee1b641155964a222bdc1273e..aa78ac7811a3b9a60b93f245969f9da744894efe 100644 --- a/src/MNH/one_wayn.f90 +++ b/src/MNH/one_wayn.f90 @@ -1,4 +1,4 @@ -!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