diff --git a/parm/jcb-gdas b/parm/jcb-gdas index b4f674f35..2f3d6d57b 160000 --- a/parm/jcb-gdas +++ b/parm/jcb-gdas @@ -1 +1 @@ -Subproject commit b4f674f3587328a3dd3935dd5a8e429604450daf +Subproject commit 2f3d6d57b62982483457cfdbab47fb7aa3ccfa49 diff --git a/sorc/oops b/sorc/oops index 1ba321ff9..73e760260 160000 --- a/sorc/oops +++ b/sorc/oops @@ -1 +1 @@ -Subproject commit 1ba321ff912c6338d7362667eff37ddbf569cb18 +Subproject commit 73e760260775c503e49e642ff6784cd60f20e5d0 diff --git a/utils/fv3jedi/fv3jedi_fv3inc.h b/utils/fv3jedi/fv3jedi_fv3inc.h index 183e426aa..9c96c2022 100644 --- a/utils/fv3jedi/fv3jedi_fv3inc.h +++ b/utils/fv3jedi/fv3jedi_fv3inc.h @@ -12,8 +12,11 @@ #include "fv3jedi/Geometry/Geometry.h" #include "fv3jedi/Increment/Increment.h" #include "fv3jedi/State/State.h" +#include "fv3jedi/Utilities/Traits.h" #include "fv3jedi/VariableChange/VariableChange.h" +#include "oops/base/StructuredGridPostProcessor.h" +#include "oops/base/StructuredGridWriter.h" #include "oops/mpi/mpi.h" #include "oops/runs/Application.h" #include "oops/util/ConfigFunctions.h" @@ -91,7 +94,7 @@ namespace gdasapp { const fv3jedi::Geometry stateGeom(stateGeomConfig, this->getComm()); const fv3jedi::Geometry jediIncrGeom(jediIncrGeomConfig, this->getComm()); const fv3jedi::Geometry fv3IncrGeom(fv3IncrGeomConfig, this->getComm()); - + // Setup variable change std::unique_ptr vc; vc.reset(new fv3jedi::VariableChange(varChangeConfig, stateGeom)); @@ -104,9 +107,10 @@ namespace gdasapp { // --------------------------------------------------------------------------------- // Get input configurations - eckit::LocalConfiguration stateInputConfig(membersConfig[imem], "background input"); - eckit::LocalConfiguration jediIncrInputConfig(membersConfig[imem], "jedi increment input"); - eckit::LocalConfiguration fv3IncrOuputConfig(membersConfig[imem], "fv3 increment output"); + const eckit::LocalConfiguration stateInputConfig(membersConfig[imem], "background input"); + const eckit::LocalConfiguration jediIncrInputConfig(membersConfig[imem], "jedi increment input"); + const eckit::LocalConfiguration fv3IncrOuputConfig(membersConfig[imem], "fv3 increment output"); + const eckit::LocalConfiguration anlOuputConfig(membersConfig[imem], "analysis to structured grid"); // Read background state fv3jedi::State xxBkg(stateGeom, stateInputConfig); @@ -176,6 +180,12 @@ namespace gdasapp { // Write FV3 increment dxFV3.write(fv3IncrOuputConfig); + + // Write analysis + // const oops::StructuredGridWriter analysis(anlOuputConfig, xxAnl.geometry()); + const oops::Geometry foo(stateGeomConfig, this->getComm()); + const oops::StructuredGridWriter analysis(anlOuputConfig, foo); + analysis.interpolateAndWrite(xxAnl); } return 0;