Giter Club home page Giter Club logo

icebin's People

Contributors

citibeth avatar ckhroulev avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

icebin's Issues

ModelE, PISM and Restart Files

Set up a restart framework in GLINT2 that is compatible with ModelE, and works with PISM.

We shouldn't need to save much in GLINT2 (maybe just the reference date). We do need some API support in GLINT2. And we need to step PISM to the restart timepoint, and save in PISM. The PISM restart file needs to be as-of the LAST PISM TIMESTEP (which may be up to 1 month before the restart file time).

Remove eigen from compilation

  1. Add a --with-eigen compiler flag
  2. If eigen is NOT being used, then don't link to it. And conditional-out code that's currently commented out in SparseMatrix.hpp and sparsemult.cpp

Fix Reference Dates

The reference date of ModelE is not being succesfully transferred to PISM. This is due to problems on the PISM side (pism/pism#225), and also on the ModelE side (iyear1 is passed to GLINT2, but it's not set properly at the time it is passed).

Grid matches: GLINT2 vs PISM

Pism's IceGrid has the following: g.x, g.y, g.Mx, g.My, etc. Make sure these match with GLINT2's idea of the grid. Especially the actual x and y coordinates of the grid cells.

Dynamic ice masks

  1. Things won't work so well if the run lasts long enough for the ice extent to change. I'm currently tracking this, so it will be easy to see when it does change. But to make the system run longer than that, Glint2/IceMint will need to load up the new mask, and then ModelE's Stieglitz model will have to be regridded from the old to the new.

Upgrade to "new" C++11 PISM

Many changes, much will break... Reasons to upgrade:

  1. Allows Neumann boundary condition. (But so far, the changes across the Stieglitz/PISM boundary are so small I don't think it would matter).
  2. Get up-to-date on PISM error reporting, so I can get PISM stack traces working in a permanent way.
  3. Good for the long term.

Couple using PISM's Neumann Boundary Condition

Currently the coupling assumes a Dirichlet boundary condition for PISM (which is the default). Re-do this to use PISM's Neumann Boundary Condition, which should be preferable in a coupled case where fluxes are passed between the two models.

Enable PISM Restarts, coupled to GCM

Bob,

Would you mind rephrasing your question so as to make it a bit more
specific, please? As it is I don't quite know what it is you would
like to know.

Thanks!

PS: I would start by looking at the initialization flow-chart
http://www.pism-docs.org/doxy/html/classIceModel.html#a74bc46b66b8383203287417335787c93
and following the path corresponding to "Is -i set? -> yes".

-- Constantine On Wed, May 7, 2014 at 10:45 PM, Fischer, Robert P (GISS-611.0)[COLUMBIA UNIVERSITY] [email protected] wrote:

Constantine,

Could you please give me a quick pointer to where/how restarts are
accomplished in PISM? At some point, I will want to couple this to ModelE's
restart capabilities. (Currently, I can't do coupled runs involving
restarts).

Thanks,
-- Bob

Convert to Specific Enthalpy

Currently, a number of variables have enthalpy units [J m-2]. This makes it hard to interpret output / log files. Consider converting to specific enthalpy [J m-2 kg-1] --- if not for internal variables, at least in output files.

Provide "ice surface temperature" in both icy and ice-free areas

Glint2 should provide surface temperature in both icy and ice-free areas.

PISM uses surface temperature in ice-free areas as a boundary condition for the heat equation modeling the temperature of the thin (~1 km) "thermal layer" of bedrock. This "bedrock thermal layer" covers the whole computational domain.

See the PISM's source code browser for details.

Right now the desm executable reports surface temperatures of 0 Kelvin in ice-free areas:
screen shot 2014-02-20 at 8 44 05 am

Regridding ice to elevation

  1. I'm not entirely happy with the fields produced when regridding from ice to elevation grids. It seems too choppy. This could (maybe) be fixed by adding a smoothness component to the objective function. It's worth playing around with.

Get PlotterE working

PlotterI and PlotterA work. But plotterE does not; needs to be converted to "new" regridder generation scheme.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.