From f09d58fefc1350cfa1783fe360b79ea297441323 Mon Sep 17 00:00:00 2001 From: ctgh Date: Tue, 27 Jun 2023 19:49:12 +0100 Subject: [PATCH 1/2] IC_BLevels --- src/opsinputs/CxWriterParameters.h | 2 ++ src/opsinputs/VarObsWriterParameters.h | 2 ++ src/opsinputs/opsinputs_cxwriter_mod.F90 | 5 +++++ src/opsinputs/opsinputs_varobswriter_mod.F90 | 5 +++++ 4 files changed, 14 insertions(+) diff --git a/src/opsinputs/CxWriterParameters.h b/src/opsinputs/CxWriterParameters.h index 0dd3be18..ff9dd6cd 100644 --- a/src/opsinputs/CxWriterParameters.h +++ b/src/opsinputs/CxWriterParameters.h @@ -101,6 +101,8 @@ class CxWriterParameters : public oops::ObsFilterParametersBase { oops::Parameter IC_YLen{"IC_YLen", 0, this}; /// Number of levels (PLEVELS). oops::Parameter IC_PLevels{"IC_PLevels", 0, this}; + /// Number of levels (BLEVELS). + oops::Parameter IC_BLevels{"IC_BLevels", 0, this}; /// Number of wet levels (QLEVELS). oops::Parameter IC_WetLevels{"IC_WetLevels", 0, this}; /// First rho level at which height is constant. diff --git a/src/opsinputs/VarObsWriterParameters.h b/src/opsinputs/VarObsWriterParameters.h index c7449ac0..a86fe00e 100644 --- a/src/opsinputs/VarObsWriterParameters.h +++ b/src/opsinputs/VarObsWriterParameters.h @@ -137,6 +137,8 @@ class VarObsWriterParameters : public oops::ObsFilterParametersBase { oops::Parameter IC_YLen{"IC_YLen", 0, this}; /// Number of levels (PLEVELS). oops::Parameter IC_PLevels{"IC_PLevels", 0, this}; + /// Number of levels (BLEVELS). + oops::Parameter IC_BLevels{"IC_BLevels", 0, this}; /// Number of wet levels (QLEVELS). oops::Parameter IC_WetLevels{"IC_WetLevels", 0, this}; /// True if ship winds have been adjusted to 10m. diff --git a/src/opsinputs/opsinputs_cxwriter_mod.F90 b/src/opsinputs/opsinputs_cxwriter_mod.F90 index 6754a060..95726f69 100644 --- a/src/opsinputs/opsinputs_cxwriter_mod.F90 +++ b/src/opsinputs/opsinputs_cxwriter_mod.F90 @@ -151,6 +151,7 @@ module opsinputs_cxwriter_mod integer(integer64) :: IC_XLen integer(integer64) :: IC_YLen integer(integer64) :: IC_PLevels + integer(integer64) :: IC_BLevels integer(integer64) :: IC_WetLevels integer(integer64) :: IC_FirstConstantRhoLevel @@ -363,6 +364,9 @@ function opsinputs_cxwriter_create(self, f_conf, geovars) call f_conf % get_or_die("IC_PLevels", IntValue) self % IC_PLevels = IntValue +call f_conf % get_or_die("IC_BLevels", IntValue) +self % IC_BLevels = IntValue + call f_conf % get_or_die("IC_WetLevels", IntValue) self % IC_WetLevels = IntValue @@ -1416,6 +1420,7 @@ subroutine opsinputs_cxwriter_populateumheader(self, UMHeader) UmHeader % IntC(IC_XLen) = self % IC_XLen UmHeader % IntC(IC_YLen) = self % IC_Ylen UmHeader % IntC(IC_PLevels) = self % IC_PLevels +UmHeader % IntC(IC_BLevels) = self % IC_BLevels UmHeader % IntC(IC_WetLevels) = self % IC_WetLevels UmHeader % IntC(IC_FirstConstantRhoLevel) = self % IC_FirstConstantRhoLevel diff --git a/src/opsinputs/opsinputs_varobswriter_mod.F90 b/src/opsinputs/opsinputs_varobswriter_mod.F90 index 780effb6..78a20089 100644 --- a/src/opsinputs/opsinputs_varobswriter_mod.F90 +++ b/src/opsinputs/opsinputs_varobswriter_mod.F90 @@ -173,6 +173,7 @@ module opsinputs_varobswriter_mod integer(integer64) :: IC_XLen integer(integer64) :: IC_YLen integer(integer64) :: IC_PLevels + integer(integer64) :: IC_BLevels integer(integer64) :: IC_WetLevels real(real64) :: RC_LongSpacing @@ -462,6 +463,9 @@ function opsinputs_varobswriter_create(self, f_conf, comm_is_valid, comm, channe call f_conf % get_or_die("IC_PLevels", IntValue) self % IC_PLevels = IntValue +call f_conf % get_or_die("IC_BLevels", IntValue) +self % IC_BLevels = IntValue + call f_conf % get_or_die("IC_WetLevels", IntValue) self % IC_WetLevels = IntValue @@ -1531,6 +1535,7 @@ subroutine opsinputs_varobswriter_populatecxheader(self, CxHeader) CxHeader % IntC(IC_XLen) = self % IC_XLen CxHeader % IntC(IC_YLen) = self % IC_Ylen CxHeader % IntC(IC_PLevels) = self % IC_PLevels +CxHeader % IntC(IC_BLevels) = self % IC_BLevels CxHeader % IntC(IC_WetLevels) = self % IC_WetLevels CxHeader % RealC(RC_LongSpacing) = self % RC_LongSpacing From 6d7c0193fd5b717e52cb4627a1e177ff6fc0b1e2 Mon Sep 17 00:00:00 2001 From: ctgh Date: Tue, 27 Jun 2023 19:51:43 +0100 Subject: [PATCH 2/2] specify number of boundary levels --- src/opsinputs/CxWriterParameters.h | 2 +- src/opsinputs/VarObsWriterParameters.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opsinputs/CxWriterParameters.h b/src/opsinputs/CxWriterParameters.h index ff9dd6cd..ac51b83e 100644 --- a/src/opsinputs/CxWriterParameters.h +++ b/src/opsinputs/CxWriterParameters.h @@ -101,7 +101,7 @@ class CxWriterParameters : public oops::ObsFilterParametersBase { oops::Parameter IC_YLen{"IC_YLen", 0, this}; /// Number of levels (PLEVELS). oops::Parameter IC_PLevels{"IC_PLevels", 0, this}; - /// Number of levels (BLEVELS). + /// Number of boundary layer levels (BLEVELS). oops::Parameter IC_BLevels{"IC_BLevels", 0, this}; /// Number of wet levels (QLEVELS). oops::Parameter IC_WetLevels{"IC_WetLevels", 0, this}; diff --git a/src/opsinputs/VarObsWriterParameters.h b/src/opsinputs/VarObsWriterParameters.h index a86fe00e..631e79e5 100644 --- a/src/opsinputs/VarObsWriterParameters.h +++ b/src/opsinputs/VarObsWriterParameters.h @@ -137,7 +137,7 @@ class VarObsWriterParameters : public oops::ObsFilterParametersBase { oops::Parameter IC_YLen{"IC_YLen", 0, this}; /// Number of levels (PLEVELS). oops::Parameter IC_PLevels{"IC_PLevels", 0, this}; - /// Number of levels (BLEVELS). + /// Number of boundary layer levels (BLEVELS). oops::Parameter IC_BLevels{"IC_BLevels", 0, this}; /// Number of wet levels (QLEVELS). oops::Parameter IC_WetLevels{"IC_WetLevels", 0, this};