Recent Releases of pyfortran

pyfortran - KDE and CICE-DART improvements

KDE performance improvements: - Fixed ITP algorithm in the root finding mod, faster convergence. - Namelist option for KDE to use 5th, 7th or 9th order Gaussian quadrature. - Boundary correction has been updated to reduce unnecessary computation. - Unused function removed.

contributed by Ian Grooms, University of Colorado, Boulder

CICE-DART postprocessing improvements: - Two new post processing options.

contributed by Molly Wieringa, ASP Postdoctoral Fellow, NSF NCAR

- Fortran
Published by hkershaw-brown 10 months ago

pyfortran - WOD bug-fix and QCEFF tolerance

Bug-fixes: - WOD observation converter fixed to be compatible with WOD2023. #939 #859 Contributed by Kate Boden, University of Colorado Boulder - Build fixes for ROMS observation converter, and CICE observation converter.

QCEFF update: - Reduced tolerance on convergence in normaldistributionmod::inv_cdf. #873 Note this may change answers. - Early return if initial guess is correct.

Documentation update: - POP initial ensemble now available on Zenodoo. #897

- Fortran
Published by hkershaw-brown 10 months ago

pyfortran - ROMS Rutgers

New Features: * ROMS Rutgers interface.

Note DART now supports two ROMS interfaces: ROMS Rutgers and ROMS UCLA. To avoid confusion, the original ROMS interface has been renamed to ROMS_ucla.

Fixes: * Limit number of resubmits in WRF-DART. * CLM documentation link fix.

Developer tools: * pyfortran utility to find unused routines.

- Fortran
Published by hkershaw-brown 10 months ago

pyfortran - IODA2obsq

  • Initial pyjedi package for DART JEDI interoperability.
  • ioda2obsq tool to convert IODA format to observation sequence format for conventional observations.

contributed by Stephen Herbener, Francois Vandenberghe, as part of DART collaboration with JCSDA

The ioda2obsq tool is under active development and has limited functionality at this time. It is expected that more features will be added soon, including support for satellite radiance observation types. In its current state, it is primarily intended for use with radiosonde and similar conventional observation types. Documentation is available online. Please reach out to dart@ucar.edu if you are interested in pyjedi ioda2obsq.

- Fortran
Published by hkershaw-brown 10 months ago

pyfortran - MOM6-DART interpolation bug-fixes

  • Fixes quad points assignment in model_interpolate #933
  • Fixes u/v interpolation handle selection #930
  • Fixes getclosestate dry land distance setting #929
  • Fixes pressure calculation for sensible temperature #934, #773

- Fortran
Published by hkershaw-brown 11 months ago

pyfortran - MOM6 pseudo depth, MODIS ice surface temp

New features:

  • MODIS ice surface temperature observation converter contributed by Molly Wieringa
  • Option to use pseudo depth for vertical location in MOM6-DART #903
  • QCEFF table pretty printer: display-qceff-table

Bug fix:

  • perfectmodelobs progress print info #905 #922

- Fortran
Published by hkershaw-brown 11 months ago

pyfortran - GitHub actions and MOM6 PMO defaults

GitHub actions updates: - non-root user for containers - runallquickbuilds can now use rttov13

User-facing updates: - Default PMO options updated for MOM6 #904

- Fortran
Published by hkershaw-brown 11 months ago

pyfortran - Documentation for Data Management

  • Document namelist options for state distribution and vertical conversion #879 #882 #881
  • IEEE flag set for Cray Compiler Environment mkmf.template #871

- Fortran
Published by hkershaw-brown 12 months ago

pyfortran - WRF-Chem pre-release

Pre-release version of WRF-DART with WRF-Chem capabilities

Documentation available at https://docs.dart.ucar.edu/en/wrf-unified/.

wrfunified modelmod page

We recommend you checkout the wrf-unified branch to get the latest developments on this code:

git checkout wrf-unified git pull

Summary of changes: * Unifies wrf and wrfchem capabilities into a single modelmod * removes wrfstaticdatafordata, uses statestucturemod * Removed wrf%dom%type so any netcdf variables can be added to the state via namelsit * 2M variables forced to 2M QTYs * QTYTEMPERATURE forced to QTYPOTENTIAL_TEMPERATURE * No vortex forward operator

Pull request #741

Please reach out to dart@ucar.edu if you are interested in using WRF-Chem.

- Fortran
Published by hkershaw-brown about 1 year ago

pyfortran - Bug-fix: nc_get_variable_info

Bug-fix: * ncgetvariable_info: Use local variable rather than optional argument which may not be present #874

Documentation updates:

  • Fortran compiler and NetCDF requirements #885 #814
  • Removed unused .rst files #812
  • Comment on damping vs applying posterior inflation clarification #857

- Fortran
Published by hkershaw-brown about 1 year ago

pyfortran - Fwd-op for SAT_SEAICE radar and laser

New feature:

  • Forward Operator for SATSEAICERADAR|LASER_FREEBOARD. contributed by Molly Wieringa

Bug-fix: - real128 removed from developer_tests for nvhpc compiler. #866

Documentation updates: - CONAGUA converter documentation updated. #868 - Radar observations documentation updated. #827

- Fortran
Published by hkershaw-brown about 1 year ago

pyfortran - Bug-fixes: TIEGCM, BNRH

  • Fix VTEC extrapolation calculation in TIEGCM model_mod. #851
  • Fix loop limit in bnrhdistributionmod, and routine name in error messages. #844
  • Documentation fix for perturbsingleinstance. #862

- Fortran
Published by hkershaw-brown about 1 year ago

pyfortran - Bug-fix: CICE interpolation

  • Inverse distance weighting interpolation for CICE. #833 Replaces bilinear interpolation which can produce out-of-bounds values.

- Fortran
Published by hkershaw-brown about 1 year ago

pyfortran - Bug-fix: CAM perturb

  • Fix fields to perturb in cam-se and cam-fv. #845
  • Fix documentation links for obs_selection #808

- Fortran
Published by hkershaw-brown about 1 year ago

pyfortran - Calendar base date documentation

  • Added base date information to timemanagermod docs. #826 #835
  • GitHub workflow based on tj-actions changed-files removed. dependabot #2

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - WRF use_theta_m check

  • Assert usethetam=0 in WRF when initializing wrf modelmod. #837 For use of THM vs T & usetheta_m in WRF refer to the WRF v4 release notes
  • Fixed documentation broken links. #829

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - WRF tutorial and prepbufr documentation

  • Observation section of WRF tutorial updated to match provided obs. #792
  • Prepbufr docs updated to describe complete conversion process.

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Generic model_mod subroutine parse_variables

  • Creates two generalized subroutines in utilities/defaultmodelmod.f90 that convert the table of state variables that is read in from the &modelnml to a statevartype: parsevariables and parsevariablesclamp (#783)
  • Alternate versions for this subroutine were replaced with parsevariables in the models MOM6, wrfhydro, aether_lat-lon, cam-fv, cam-se, POP, and cice
  • New dev test testparsevariables added

- Fortran
Published by mjs2369 over 1 year ago

pyfortran - Inflation documentation

  • Improved inflation documentation #775, #276
  • CAM FV and SE checks for required state variables #662
  • GitHub action to alert on files with legacy svn info #802
  • Fwd op documentation formatting fix #797

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Bug-fix: Explicitly handle BNRHF transform failures

  • Probit transform failure is caught and an error code is returned
  • filtermod and assimtools_mod skip variables that fail the transform

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - DART_LAB QCEFF

  • DART_LAB updated to include QCEFF #739
  • NSF NCAR RDA links updated #755
  • /glade RDA locations updated #755

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Pangu-DART

Pangu-Weather interface for DART

contributed by Dr. Nuo Chen, University of Oklahoma

AMS 2025 poster: Pangu-DART: Enabling Ensemble Kalman Filter Data Assimilation for ML-Based Numerical Weather Prediction Models

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Bug-fix: Gamma and Beta Distributions

Bug fixes:

  • Beta distribution only supporting standard Beta, bounded 0-1. #717
  • Gamma distribution only supporting standard, lower bound 0. #786
  • Beta and Gamma bounds are forced in the QCEFF table.

Updates:

  • Explicitly setting distribution type, now have UNSET.
  • Message about failing to converge changed to E_ALLMSG to be visible on all MPI ranks. If you get a significant increase in output, please email dart@ucar.edu to let us know
  • remove unused test_obs directory #220

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Bug-fix MOM6 potential temperature

  • MOM6 model_interpolate for potential temperature #773
  • Update lorenz workshop input.nmls to v11 #789

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Bug-fix 1D obs_diag

  • Added a dummy dimension so 1D obs_diag output can be used with MATLAB diagnostic tools #230
  • Added a notification that probit inflation QCEFF options are ignored for RTPS (posterior inflation) #748

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Developer tests

  • Tests for distribution modules: normal, beta, gamma
  • Removed out-of-date tests for state IO

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - MPAS ATM bug-fixes

  • Fixed 2m and 10m fields not being updated - set istatus for VERTISHEIGHT and VERTISLEVEL for convertvertdistribstate. #756 _thanks to Matt Wilson for reporting this
  • Fixed vertical location in convertverticalobs to use zGridFace. #524

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - POP initial ensemble available from GDEX

Documentation update:

  • POP initial ensemble available from Geoscience Data Exchange (GDEX) #476

Bug-fixes:

  • Removed unnecessary loops around calendar types in timemanagermod. #653
  • Removed unused routine from normaldistributionmod which caused compilation warnings. #736
  • Replaced broadcastminmax calls with allreduceminmax. #762

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - MPI window memory reduction

  • Removes unnecessary copy of state into MPI window.
  • Removes cray pointer version of the MI window.

We do not expect this internal change to the MPI window to affect users, however if this change causes problems with particular MPI libraries or you are making use of the cray-pointer window, please reach out to dart@ucar.edu

  • Fortran-testanything included in developer tests. From dennisdjensen: see developertests/contrib/fortran-testanything/LICENSE.txt_

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - Bug-fixes: WRF and GOES

  • It is now mandatory to use THM as the Temperature variable (typet) in the WRF modelnml #728
  • Removed the offset in the GOES observation converter #731 Please be aware that when using RTTOV with DART you should confirm that the channels listed in the coefficient file match the channel in the obs_seq.out For more detail refer to the obsdefrttov documentation

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - MOM6 mask bug-fix

  • Fix for MOM6 CESM3 workhorse 2/3 degree grid TL319_t232 to mask missing geolon|lat|u|v|t values

- Fortran
Published by hkershaw-brown over 1 year ago

pyfortran - MARBL_column

Interface for MARBL_column for DART: - state estimation - state and parameter estimation - parameter estimation only

BATS observation converter, and BATS climatology scripting.

contributed by Robin Armstrong

Bugfix:

  • Fix for IO for NetCDF files when only some variables have the unlimited dimension #614

- Fortran
Published by hkershaw-brown almost 2 years ago

pyfortran - Bug fixes for shortest_time_between_assimilations and get_close_init

Bug fixes: * Prevent hang by erroring out if shortesttimebetweenassimilations <=0 #535 * Catch and error out if maxdist or maxdistlist is <=0 for 3d sphere 3d cartesian getcloseinit #626 * Improved defaults for template model input.nml #493

Doc fixes: * Removed out-of-date info about inflation flavor character strings #694 * Remove out-of-date info on qceff branch checkout #710 * GitHub template for reporting documentation issues #693

- Fortran
Published by hkershaw-brown almost 2 years ago

pyfortran - KQCEF

KQCEF: A Quantile-Conserving Ensemble Filter Based on Kernel-Density Estimation

  • New distribution module kdedistributionmod.
  • New module rootfindingmod that provides a different implementation of invcdf.

For further details see "A Quantile-Conserving Ensemble Filter Based on Kernel-Density Estimation" by Grooms & Riedel (Remote Sensing, 2024; DOI:10.3390/rs16132377)

Contributed by Ian Grooms

- Fortran
Published by hkershaw-brown almost 2 years ago

pyfortran - WRF fwd operator bug fixes

  • Bug fix for surface temperature observations to use QTY2MTEMPERATURE in wrf model_mod #700
    • Bug fix for conversion of vapor mixing ratio to specific humidity in wrf model_mod #700
    • Bug fix for diagnostics_obs.csh #660
    • Improved documentation for WRF model_mod and WRF-DART Tutorial #700

- Fortran
Published by hkershaw-brown almost 2 years ago

pyfortran - Build tools for DART library

  • Build tools for compiling DART as a shared or a static library.
    Based on work by Anh Pham and Suman Shekhar as part of their SiParCS 2024 projects.
  • Bugfix: correct order of arguments in countstateenscopies for 'input' stagesto_write. #613

- Fortran
Published by hkershaw-brown almost 2 years ago

pyfortran - Bgrid documentation and scripting fix

  • Updated Bgrid documentation and removed outdated scripts and files
  • Fixed obs_diag rank histogram documentation links
  • Improved inflation file documentation
  • GitHub action for running all quickbuilds in DART

- Fortran
Published by hkershaw-brown almost 2 years ago

pyfortran - Hybrid EnKF-OI filter

A hybrid ensemble and optimal interpolation filter, combining flow-dependent ensemble covariances with time-invariant climatological backgrounds. The combination is done linearly and adaptively both in space and time.

For detail see El Gharamti, et al. (2024): Leveraging a Novel Hybrid Ensemble and Optimal Interpolation Approach for Enhanced Streamflow and Flood Prediction.

Note: This release is supported for WRF-Hydro only and is based on DART version v9.11.7

- Fortran
Published by hkershaw-brown almost 2 years ago

pyfortran - WRF v4

  • WRF-DART and WRF-DART Tutorial updated to WRFv4. For detail on the differences see #661. Note, this change is not backwards compatible with WRFv3.9. If you are working with WRFv3.9 and DART and are affected by this change, please reach out to the DART team at dart@ucar.edu.

  • local particle filter default value for pfenkfhybrid=.false. contributed by Jon Poterjoy #680.

- Fortran
Published by hkershaw-brown about 2 years ago

pyfortran - Bug-fix: WRF hybrid vertical coordinate

  • DART now detects whether WRF is using Hybrid Vertical Coordinate (HVC) introduced in WRFv3.9 or terrain following (TF) system. This fix is also compatible with pre WRFv3.9 versions which did not include explicit attribute information for vertical coordinate system. #649
  • Improved obsimpacttool documentation. #571
  • citation NCAR -> NSF NCAR #584

- Fortran
Published by hkershaw-brown about 2 years ago

pyfortran - WRF-Hydro Developments; AIRS and AMSU converter update; Add citation.cff file

WRF-Hydro: - Added a new perfect model obs experimental capability to HydroDART - Modified the Streamflow obs converter to allow for better diagnostics: allows DART to compute obs space diagnostics on all gauges from the Routelink - Enhanced performance in the modelmod and noahhydro_mod when running a full CONUS domain - Improved HydroDART Diagnostics with new capabilities (saves the hydrographs in a high-resolution pdf, handles hybrid DA components, separate plots for the hybrid statistics, allows the openloop to have different ens size and gauges than the DA runs)

AIRS and AMSU-A observation converters: - Updated the documentation to use up-to-date build suggestions for the HDFEOS library - Updated the AIRS converter code to be able to use version 7 of the AIRS data formats - Removed unused and non-functional code: AIRS/BUILDHDF-EOS.sh, AIRS/L1AMSUAtonetcdf.f90, AIRS/shellscripts/BuildHDFtonetCDF.sh, AIRS/shellscripts/ConvertHDFtonetCDF.csh - Removed the unnecessary entries from obsdefrttov_nml in the input.nml

Added a citation.cff file to help users correctly cite DART software - creates a link to cite the repository on the landing page sidebar on GitHub.

- Fortran
Published by mjs2369 about 2 years ago

pyfortran - Update WRF-DART scripts and bug template to Derecho; remove no-op routines in ensemble manager

  • Updated the csh scripting templates used to run WRF-DART and WRF-DART tutorial from Cheyenne to Derecho
  • Updated bug report template to use Derecho instead of Cheyenne
  • Removed the following no-op routines from ensemble manager: preparetowritetovars, preparetowritetocopies, preparetoreadfromvars, preparetoreadfromcopies, preparetoupdatevars, preparetoupdatecopies

- Fortran
Published by mjs2369 over 2 years ago

pyfortran - MITgcm/N-BLING with Compressed Staggered Grids

  • The DART-MITgcm code now supports compressed grids, especially suited for areas like the Red Sea where land occupies more than 90% of the domain.
  • Allows writing the BGC fields into MITgcm's pickup files.
  • Allows different compression for the regular and staggered grids.

Built upon work by Jiachen Liu, Drexel University which he presented at AMS 2023 The work was done as part of SIParCS 2022 and in collaboration with KAUST.

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - Aether lat-lon

  • Added a new interface to DART to enable assimilation with the lat-lon formulation of the Aether space weather model.

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - SEIR model for infectious diseases

  • Added SEIR model which simulates the spread of infectious diseases, for example COVID-19.

Initial versions of the model were tested using DART_LAB. This was conducted by Shaniah Reece as part of her SIParCS internship at NSF NCAR (2022).

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - Fortran Standard Updates

  • Replaced f2kcli with Fortran intrinsics for command line arguments. #594, #601
  • AIRS and quikscat mkmf.templates with appropriate HDF, HDFEOS, RTTOV library flags. #352
  • Simplified noahhydromod.f90 number of non-zero element counts. #599
  • WRF pertsoundingmodule random iseed now integer. #351

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - RTTOV13 cloud bug-fix

RTTOV 13: - Initialize RTTOV13 profile cloud arrays to zero for profiles. #542 - Updated docs with RTTOV13 namelist info. - New obsdefrttov13mod.f90 namelist option wfetchvalue. - Updated mkmf.templates for RTTOV on Derecho: HDF5 library flags. #625

Thanks to Joseph Chan (Department of Geography, The Ohio State University) for the original cloud bug, fix and review.

GitHub actions changes: - checkout action updated to v4. #630

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - CLM bug-fixes

CLM5-DART SourceMods path variable correction

darttoclm: - Resolved compiler error by changing the arrays for number of snow layers (snlsno and clmSNLSNO) to integer types - Forcing h2oliqpo to be slightly larger than zero to be consistent with h2oicepo and dzsnopo - Adding checks to ensure that the values for h2oliqpo, h2oicepo, dzsnopo, and snowdppo are never negative

- Fortran
Published by mjs2369 over 2 years ago

pyfortran - QCEFF

Nonlinear and Non-Gaussian Data Assimilation Capabilities in DART

  • Adds a Quantile-Conserving Ensemble Filtering Framework (QCEFF) to DART. Publications: QCEFF part1, QCEFF part 2.

  • The default QCEFF options are EAKF, normal distribution (no bounds).

  • User interface changes:

    • filter_kind is now a per-qty option through QCEFF table.
    • Two new required namelists (add to input.nml files):
    • probittransformnml
    • algorithminfonml
    • assimtoolsmod namelist:
    • sortobsinc namelist option applied to ENKF only, so default is now .true.
    • spread_restoration is not supported in this version
    • algorithminfomod QCEFF options read at runtime from .csv or .txt file
  • New probability distribution modules:

    • betadistributionmod contributed by Chris Riedel
    • bnrhdistributionmod (bounded normal rank histogram)
    • gammadistributionmod
    • normaldistributionmod
    • probittransformmod
    • distributionparamsmod
  • Update to lorenz96tracer_advection:

    • positive_tracer
    • more tracer namelist options available and changed defaults
    • updated perturbation routine
    • bug-fix: real(r8) rather than real(i8)
  • Fix: obsdef1dstatemod (oned forward operators):

    • For non-integer powers, fix up values for negative bases
  • Documentation:

    • main page section on Nonlinear and Non-Gaussian Data Assimilation Capabilities in DART
    • QCEFF instructions: Quantile-Conserving Ensemble Filter Framework
    • Example to work through: QCEFF: Examples with the Lorenz 96 Tracer Model

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - Derecho CLM-DART

  • CLM-DART scripting updated for Derecho.
  • CLM-DART SourceMods packaged with DART.
  • Reinstituted both 'complete' and 'single_year' datm streamlist files in shell scripts due to delays when initializing the CAM reanalysis files through campaign/collections directory.

bug-fixes:

  • Fixed format statement in assert_mod to conform to Fortran standards.
  • Fixed debugging output for failed forward operators.

doc-fixes:

  • Remove broken link for register for dart.

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - Developer tests and bug fixes

  • new developer tests to run all builds for all compilers on NSF NCAR machine Derecho.
  • removed redundant nccheck routine from utilitiesmod in favor of netcdfutilitiesmod::nc_check
  • Improved default thinning options for AIRS L2 converter.

bug-fixes:

  • AIRS L2 converter message prints correct number of obs.
  • MOM6 model_mod .eqv. used for logical comparison to conform to Fortran standard.

Note to developers: if you have your own code that makes use of DART's nc_check replace use utilities_mod, only :: nc_check with use netcdf_utilities_mod, only :: nc_check

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - NSF documentation update

  • Following official Policy on Brand Standards of the U.S. National Science Foundation for DART documentation.
  • Changes instances of “NCAR” to “NSF NCAR” and adds NSF logo to the DART logo in the navigation menu.

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - Github Actions MPI f08 check

Adds a new check to the Github Actions workflow that uses the mpif08 module (compiles with ./quickbuild mpif08 and runs filter on 2 mpi tasks with the lorenz_96 model). #563

- Fortran
Published by mjs2369 over 2 years ago

pyfortran - MPI f08 quickbuild option

new features:

  • quickbuild.sh mpif08 option to build using the mpi_f08 module #261 #551 #497
  • nvhpc mkmf.template for use on Derecho #554

bug-fixes:

  • filtermod.dopperlerfold in sync with filtermod #565
  • unnecessary loop removed from Mersenne twister developer test

doc-fixes:

  • rename assimmodelmod.rst to match the module #282
  • fix various Sphinx warnings and broken link #546

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - Quantile methods pre-release: QCEFF Table

Pre-release version of the quantile conserving and probit transform tools, including the new functionality of the QCEFF Table

This code is under active development, so we recommend checking out the latest version of this code from the quantile_methods branch:

git clone https://github.com/NCAR/DART.git cd DART git checkout quantile_methods

The documentation for this branch is available online

Please contact dart@ucar.edu if you would like to develop scientific collaborations using these new capabilities.

Below is a list of the changes to quantilemethods that are included with this release: - The QCEFF input table allows for the specification of QCEFF/probit input options, per QTY, at runtime. - This replaces the functionality of using an algorithminfomod specific to the model, which meant editing algorithminfomod.f90 to specify which distribution should be used for which quantity. - The algorithminfomod files for the lorenz96traceradvection model examples have been replaced with set QCF tables (allbnrhfqcftable.csv, alleakfqcftable.csv, stateeakftracerbnrhfqcftable.csv, negqcftable.csv) and can be found in lorenz96traceradvection/work. - Removed the ‘global’ version of filterkind from assimtoolsmod.f90 and the &assimtools_nml

- Fortran
Published by mjs2369 over 2 years ago

pyfortran - WRF-DART tutorial section on diagnostics

  • Added a more complete diagnostics section to the WRF-DART Tutorial.
  • Developer test for Mersenne twister random number generator. #499
  • Bug-fix: 1D location subsetting fixed for obssequencetool. #547 contributed by Henry Santer

- Fortran
Published by hkershaw-brown over 2 years ago

pyfortran - Fluxnet observation converter and obs_def_rttov13_mod.f90 bug-fixes

Fluxnet obs converter (#478):

  • Generates a new observation converter (Fluxnetfulltoobs) for eddy covariance flux tower data (carbon, water energy fluxes)
  • Documentation changes made to the older, deprecated ameriflux converter (level4toobs) and the broken links have been fixed
  • New flux tower observation types added to accomodate the forward operator approach for time aggregated fluxes (daily through monthly)

obsdefrttov13_mod.f90 bug-fixes:

  • Added public getchannel to obsdefrttov13mod.f90 to compile WRF successfully with rttov13. #532
  • Removed cloudoverlap (integer) from the function: getrttovoptionlogical #537

- Fortran
Published by mjs2369 over 2 years ago

pyfortran - CAM-FV shell scripts

Performance improvements for CAM-FV shell scripts:

  • Avoid listing files if the CAM_PHIS file already exists.
  • Avoid using /var/tmp
  • RUNDIR defined after CIMEOUTPUTROOT change.
  • Warn if no inflation files found.

- Fortran
Published by hkershaw-brown almost 3 years ago

pyfortran - MPAS-ATM constants update and readthedocs fix

  • MPAS-ATM model_mod.f90 constants updated to MPAS v5+ #251 see mpas_atm for how to run with v4 constants.
  • readthedocs build info updated. #526

- Fortran
Published by hkershaw-brown almost 3 years ago

pyfortran - Bug-fixes for MOM6 and WRF

  • bug-fixes:

    • MOM6 readmodeltime converts to dart time to match observation sequences #494
    • MOM6 salinity units converted to MSU during model_interpolate #509
    • WRF get_dist calculation fixed for observations with VERTISUNDEF #486
  • doc-fixes:

    • WOD and GTSPP converter documentation notes about salinity units #509
    • MOM6 documentation for setting the Gregorian calendar in CESM #494
    • comment fix in filter_mod.f90 #508

- Fortran
Published by hkershaw-brown almost 3 years ago

pyfortran - CAM-DART observation preprocessor

  • Tool to remove observations above a given CAM level from an obs sequence file #459
  • bug-fixes:
    • MOM6 added check for too deep observations #490
    • testinterpolaterange write format corrected #487
    • removed unused code from mpas_atm directory #496 #498
  • doc: removed outdated references to prep_buf.html #452

- Fortran
Published by hkershaw-brown almost 3 years ago

pyfortran - Smoother removal

  • Dead smoother code removed. #479
  • Documentation fix for quality control. #481
  • Cray Compiler Environment mkmf.template #470

Please reach out to dart@ucar.edu if you are interested in implementing a smoother in DART Manhattan.

- Fortran
Published by hkershaw-brown about 3 years ago

pyfortran - Documentation fix

conf.py changes for latest readthedocs. Fixes search and flyout menu. #471

- Fortran
Published by hkershaw-brown about 3 years ago

pyfortran - CLM-DART: CAM reanalysis site-level bias correction tool

  • Initial version of bias correction for CAM reanalysis forcing for site-level assimilation with CLM-DART. https://github.com/NCAR/DART/issues/446
  • mkmf change: make clean removes .mod files. https://github.com/NCAR/DART/issues/444
  • bug-fix: readthedocs yaml file for online documentation build. https://github.com/NCAR/DART/issues/471

- Fortran
Published by hkershaw-brown about 3 years ago

pyfortran - MOM6

CESM-MOM6 interface added to DART #451

  • An early functional release of the MOM6 ocean component has been made available to CESM users beginning with CESM2.2.
  • This DART-MOM6 interface was developed for MOM6 within the CESM framework to use with the CESM functional release.

- Fortran
Published by hkershaw-brown about 3 years ago

pyfortran - Bug-fixes for the WRF Tutorial and developer test quickbuilds

  • Fixes the broken link to WRF DART tutorial input.nml.template #464
  • Fixes the developer_tests quickbuild.sh files #466

- Fortran
Published by mjs2369 about 3 years ago

pyfortran - Bug-fix release

  • Removes unused and uninitialized argument to adaptiveinflateinit. #68
  • Fixes HDF5utilitiesmod i4 i8 mismatch. #340
  • Removes HDF tutorial code which is not part of DART.
  • Fixes misleading comment in filter_mod.f90 #70

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Bug-fix for vertical conversion QC 8

  • QC 8 values now correctly recorded. Previously this info was lost if the posterior FO was skipped. #401
  • Fixes QC overwrite for forward operators when running distributed_state = .false.
  • WRF tutorial bug fix for setting paramfile. #295

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Documentation update for porting new models

  • Improved 'porting new models to DART' documentation.
  • Removed outdated references to previous build system.

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Quantile methods pre-release

Pre-release version of the quantile conserving and probit transform tools

This code is under active development, so we recommend checking out the latest version of this code from the quantile_methods branch:

git clone https://github.com/NCAR/DART.git cd DART git checkout quantile_methods

The documentation for this branch is available online.

Please contact dart@ucar.edu if you would like to develop scientific collaborations using these new capabilities.

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Documentation update for CLM and the DART Tutorial

  • Improved instructions for the CLM-DART tutorial. #440
  • Fixes link within the documentation to a section describing how to configure MATLAB's path to use DART MATLAB functions. #442

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Automated testing of pull requests

  • GitHub actions for pull requests which checkout, compile and run a given model.
    Current workflow: lorenz96 (mpi) and lorenz63 (no mpi)

contributed by Anderson Chauphan

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Bug-fix cam-fv

  • Fix for assimilate.csh purge of restart files when the interval for restart saves is given as a string rather than an integer. #435
  • Fix for setting ptype when nonormalizationofscaleheights = .false. #381

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Improved clean_nml and CLM quickbuild.sh

  • clean_nml tool for comparing input.nmls given optional arguments to keep the original order of nmls and/or entries, and optionally keep namelist comments. #424
  • fillinflationrestart now a default build for CLM. #423

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Bug-fix release

  • Perfectmodelobs (pmo) fixed for running with MPI and advancing the model inside pmo. #418
  • MPAS_ATM xtime string padded with blanks for easier bitwise comparison. #414
  • lorenz96tracer_advection quickbuild.sh fixed. #418

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Bug-fix for read_variables

  • Per-file check for unlimited dimension before variable read. NetCDF dimension counts adjusted accordingly. Fixes problems when reading from DART created netCDF files, for example, from fillinflationrestart
  • Bug-fix for verbose printing of state_structure info

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - Bug-fix for obs converter builds and MPAS_ATM perf improvement

  • Bug fix for converter builds using the template model_mod.f90 #409
  • Performance fix for MPAS_ATM #407

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - bug fix for perturb_single_instance

A model specific pertmodelcopies is now required to run perturbsingleinstance.

Previously the program perturbsingleinstance would run but not perturb if a modelmod did not provide a pertmodel_copies interface.

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - CAM-SE Manhattan

  • CAM-SE interface for Manhattan
  • Shared code for CAM-SE and CAM-FV model_mods in cam-common-code

- Fortran
Published by hkershaw-brown over 3 years ago

pyfortran - ROMS model_mod improvement to enable perturb_single_instance

  • Defines a pert_model_copies subroutine within the ROMS model_mod that randomly perturbs temperature and salinity with the ROMS model history files
  • Adding this subroutine ensures perturbsingleinstance works as expected

- Fortran
Published by johnsonbk over 3 years ago

pyfortran - Bug fix for CLM CESM2.2 shell scripts

  • Fixes dtlimit bug in cesm2.2 CLM shell scripts. Loads all CAM reanalysis files within datm data stream file regardless if it is single year or multi-year run.
  • Fixes single instance bug in cems2.2 CLM shell scripts. Allows for freerun scripts to generate single instance simulations.

- Fortran
Published by braczka almost 4 years ago

pyfortran - Bug fix for POP CESM2.1 shell scripts

  • Fixes bug in POP CESM2.1 shell scripts in which inflation files were not being propagated properly.

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - Automated initial setup of new model interfaces

  • Automated initial setup of new model interfaces to aid users developing model_mod code and documentation.

contributed by Benjamin Gunn

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - Bug-fixes for obs_utilities build and mpas_atm

  • obsutilitiesmod no longer included by default for model/work builds because these utilities are for threedsphere and threedcartesian location_mods only.
  • mpasatm modelmod check for required quantities changed to handle multiple variables of the same quantity.

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - TIEGCM 2.0 Manhattan

TIEGCM model_mod updated to Manhattan and TIEGCM 2.0

  • Supports 2.5-degree and 5-degree resolution grids.
  • vtec extrapolation is done in modelmod::modelinterpolate with 10 levels for 5 deg, 20 levels for 2.5 deg.
  • Modelinterpolate uses X rather than XMN variable no matter the order of state variables in model_nml. Previously in Lanai the variable given first in the state was used. _MN variables are from the previous model time step.
  • f10.7 can be added to the DART state. An example f10_7.cdl file is provided in the work directory.
  • Added hyperslice subroutine to statestructuremod to read only part of a netCDF variable into the state
  • Separated functions for iodimlength and dimlength in statestructure_mod to allow for hyperslice.
  • Replaced stub getexpectedvtec with COMMON_CODE.
  • directnetcdfmod reads/write the latest slice of the unlimited dimension in the restart file.

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - RTTOV v13

  • RTTOV v13 forward operators for satellite radiance assimilation.

Contributed by Lukas Kugler

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - Bug-fix for WRF model_mod nc_write_model_atts

Removes obsolete domain dimension from ncwritemodelatts for WRF modelmod. This code was left over from when multiple domains could be written to a single NetCDF file in DART.

No changes to assimilation results, but the following WRF variables will written as single values: DY, TRUELAT1, TRUELAT2, STANDLON, CENLAT, CENLON, MAPPROJ, PERIODIC_X, POLAR

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - Bug-fixes for DART_LAB rank histograms and get_close caching

  • Fixes DART_LAB prior and posterior rank histogram calculation. #373
  • Fix for intent(inout) for getcloseX_caching routines.
  • Obsolete GitHub workflow removed.

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - Performance improvement: removal of redundant caching in assim_tools_mod.f90

Improves the runtime by removing the redundant caching and copying in the getcloseobscached and getclosestatecached subroutines of assimtoolsmod.f90.

Fixes issue #364 Pull request #368

- Fortran
Published by mjs2369 almost 4 years ago

pyfortran - Manhattan TIEGCM 2.0 Pre-release version

  • Supports 2.5-degree and 5-degree resolution grids.
  • Vectorized model_interpolate.
  • State data read directly from model netcdf file.
  • Modelinterpolate uses X rather than XMN variable no matter the order of state variables in model_nml. Previously the variable given first in the state was used. _MN variables are from the previous model time step.
  • Extrapolation of VTEC now in modelinterpolate. Previously VTEC was calculated as part of modelto_dart.
  • Added hyperslice subroutine to statestructuremod to read only part of a netcdf variable.
  • Separated functions for iodimlength and dimlength in statestructure_mod to allow for hyperslice.
  • directnetcdfmod reads the last timeslice of the TIEGCM netcdf file.
  • Removed read of tiegcm namelist from model_mod.
  • Support for f10.7 as part of the state.
  • shell scripts for initial cycling tests using NCAR's supercomputer (Cheyenne).

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - Bug-fixes for MITgcm_ocean and Var obs converter

  • MITgcmocean pertmodel_copies routine fixed to use the correct variable clamping value and indices for each element of the copies array.
  • Var obs converter quickbuild.sh fixed to correctly locate the required 3DVAR_OBSPROC code.
  • Documentation for Var obs converter updated with information for where to get the latest WRF 3DVAR_OBSPROC code.

- Fortran
Published by hkershaw-brown almost 4 years ago

pyfortran - Bug fix for ps_rand_local in the Bgrid Model

Fixes the issues occurring in psrandlocal.f90 - missing call for initializeutilities() and improper formatting when writing into psrand.out

Issue #354 Pull request #358

- Fortran
Published by mjs2369 about 4 years ago

pyfortran - New build tools for DART

  • mkmf_ path_names files replaced with buildfunctions to collect source code.
  • quickbuild.csh replaced with quickbuild.sh
  • developertests/buildeverything for simultaneous runs of every quickbuild.sh
  • Several build/compilation related bug fixes: #216, #335, #333, #157, #129, #327, #114

- Fortran
Published by hkershaw-brown about 4 years ago

pyfortran - bug fix for RTPS

Order of operations changed to avoid inadvertent changes to ens when using RTPS and infinitial=0 or infinitial=1. Fixes bug #355

- Fortran
Published by hkershaw-brown about 4 years ago

pyfortran - Installation documentation update

Improved documentation for verifying installation of DART.

- Fortran
Published by hkershaw-brown about 4 years ago

pyfortran - Bug-fix for NetCDF variables with NaN attributes

  • Fix for checking attributes of NetCDF variables that have a NaN as the missing value or _FillValue.

- Fortran
Published by hkershaw-brown about 4 years ago

pyfortran - Per-obs-type localization for 3D Cartesian location_mod

Optional per-obs-type localization for 3D Cartesian location

Contributed by Jon Labriola for use with CM1

- Fortran
Published by hkershaw-brown about 4 years ago

pyfortran - MITgcm_ocean NBLING

  • MITgcm_ocean interface updated to Manhattan.
  • Support for NBLING (ocean biogeochemistry) for MITgcm_ocean.
  • New observation converter for ocean color.

- Fortran
Published by hkershaw-brown about 4 years ago

pyfortran - CLM5-DART Tutorial

  • CLM5-DART tutorial providing new users with 13 steps for download, setup, execution, and diagnosis of a simple global assimilation run.

  • Stagecesmfiles script corrected to re-stage prior inflation files correctly and provide reproducibility

- Fortran
Published by braczka about 4 years ago

pyfortran - Tracer advection model

  • Added a tracer advection model based on Lorenz-96 using a Semi-Lagrangian scheme. The lorenz96traceradvection modelmod was implemented by Fairuz Ishraque as part of a SIPaRCS 2021 project.

  • Forward operator documentation updated to Manhattan

- Fortran
Published by hkershaw-brown over 4 years ago