nyuuzyou/wikis huggingface dataset:
Hydrology FRG 2009

===CSDMS Hydrology Focus Research Group meeting , January 20-21, 2009===
Date: January 20-21, 2009
Location: University of Colorado at Boulder (CO), USA
Host:	CSDMS
==== Introduction ====
This will be the first meeting of the CSDMS Hydrology Focus Research Group (CHFRG). The goals of the meeting are to begin assessing the hydrologic modeling needs of CSDMS, to work with CSDMS Executive Committee, Working Groups and other Focus Research Groups to determine how these can be met, and to begin coordinating linkages between CHFRG activities and other community efforts such as those at NCAR, USGS, CUAHSI, etc.
==== Participants ====
Registration is closed since January 12, 2009. 
Personal invitations have been sent to specific CSDMS members with expertise in these areas to contribute to the discussion and planning of short- and long-term goals.
==== Circulars and Program====
The Hydrology Focus Research Group will meet for 1 1/2 days. 
Please visit this link for the working agenda:
 Working Agenda - as of 11.13.08 (PDF)
====Talks====
</table>
Hydrology FRG Discussion

=Hydrology Focus Research Group Discussion=
The Hydrology FRG is charged with writing a new 5-year Science Plan, and with identifying (at least) one model to add to the repository of couple-able models each year. These two tasks overlap with each other, of course. Building on our success stories from the past five years, and ongoing priorities, we will need to put our heads together to decide what scientific questions are most compelling and urgent, and what model development/model coupling tasks are needed to address them--as well as what research groups or individuals are motivated to put in the coding work to make it happen (which likely involves writing a proposal, perhaps involving CSDMS Integration Facility collaborators to lend expert help). The motivation to actively join in these efforts, along with helping facilitate exciting science, includes the fact that the priorities the WG identifies will feature prominently in the 5-year plan, written primarily for NSF Program Officers.
We will focus on these tasks during multiple Focus Research Froup breakout sessions in a week, but since not everyone can travel to Boulder, we start our discussions online.
Please join by replying to the following threads:
Hydrology FRG Discussion/Prioritizing a Hydrological model to make coupling-ready (refactoring the code with a Basic Model Interface).

Prioritizing a model to make coupling-ready (refactoring the code with a Basic Model Interface). This task will start with nominations of models that would be advantageous scientifically to couple to other models (of other Earth subsystems, hydrology or otherwise, or of other processes), and which have enough enthusiasm from people close to the code to do the coding work (and/or find funding to support this work; CSDMS Integration Facility personnel will be there to help with the final stages, but limited Integration Facility resources require us to do the bulk of it--or find funding to support Integration Facility personnel). Question: what Hydrological models best fit these criteria?
= Current coastal models in repository () =
</table>
Images portal

The images on this page illustrate aspects of environments that the CSDMS Project tries to capture by a suite of models. The freely downloadable images are generously contributed by various people. Please make sure to credit the contributors when you are using these images.
Images	Images
 	Terrestrial
Images of meandering rivers, braided rivers , dams and reservoirs, flooding, irrigation, land slides, thaw lakes, etc.
 	Coastal
This gallery contains images of spits, tidal flats, deltas, coastal defenses, coastal erosion, etc.
 	Marine
Images of experimental stratigraphy.
Industry partners

=Industry Partners=
We see a strong incentive for participation of industry scientist and engineers in the surface dynamics modeling community. 
The following industrial partners have collaborated with and support CSDMS efforts on various levels - from financial support to in-kind support to collaborative research. These organizations also offer support via the participation of representatives in the various committees and working groups operating within CSDMS.
: ConocoPhillips
: Deltares
: EDF
: ExxonMobil Research and Engineering Company
: Japan Agency for Marine-Earth Science and Technology (JAMSTEC)
: Statoil
: Schlumberger Information Solutions
CSDMS has an Industry Consortium, which involves many of these industry partners. Read the .
Installing a Python distro for testing and development

== Installing Python for testing and development on beach ==
__NOTOC__
There are several Python distributions available on beach,
but it's often useful to install a local Python distribution for testing and development.
This technique is used frequently by the CSDMS software engineers;
see, e.g., the article Installing a WMT executor.
If things go horribly awry,
you can just delete the Python distribution and start over again.
Before we start,
note that the commands used in this article require the bash shell. 
Starting in your home directory, download a Python distribution.
The CSDMS software engineers recommend miniconda,
a minimal distribution based on the Anaconda Python distribution.
Change directories,
then grab the miniconda installer with curl:
 cd
 curl https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -o miniconda.sh
Execute the miniconda shell script, installing into a directory named conda in your home directory.
 bash ./miniconda.sh -f -b -p $HOME/conda
Then push this Python distribution to the front of your path.
 PATH=$HOME/conda/bin:$PATH
To use your local Python distribution,
this command will need to be executed every time you log in or open a new terminal on beach.
You now have a minimal Python distribution.
Check that this Python is at the front of your path with the which command:
 which python
which should return ~/conda/bin/python.
=== Adding packages ===
Your local Python distribution has only a bare minimum set of packages;
not even numpy, matplotlib, or ipython are included. 
Use the Anaconda package manager, conda,
to install a set of frequently used packages.
 conda install ipython numpy scipy netcdf4 matplotlib
Mpiper (talk) 13:05, 3 January 2017 (MST)
Installing a WMT executor

==Installing a WMT executor==
A WMT executor (also referred to as an execution server) is the part of the CSDMS Web Modeling Tool
that runs standalone or coupled model components on a computational resource.
Requirements:
* An internet-accessible MacOSX or Linux computational resource
* curl
* git
Start by selecting an install directory, accessible to all users, on the computational resource.
For example, on the CSDMS HPCC, beach, WMT executors are installed in /home/csdms/wmt.
Change to the install directory you've selected and define a shell variable for future use.
 cd /home/csdms/wmt
 mkdir _testing && cd _testing
 root=$(pwd)
Install a local Python distribution for use by the executor.
CSDMS IF recommends miniconda,
a minimal distribution based on the Anaconda Python distribution.
 curl http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -o miniconda.sh
 bash ./miniconda.sh -f -b -p $root/conda
 export PATH=$root/conda/bin:$PATH
Replace "Linux" with "MacOSX" in the curl statement above
if installing on a Mac.
Use the Anaconda package manager, conda,
to install a set of packages used by the executor.
 conda install ipython numpy scipy netcdf4
(Although ipython isn't required, it's handy for debugging.)
Using conda
and the CSDMS Anaconda channel,
install cca-bocca, which should fetch and install
several dependencies for the CSDMS toolchain,
including cca-spec-babel, ccaffeine, and cca-bocca.
 conda install -c csdms cca-bocca
Clone and install the Python Modeling Tools, PyMT,
using the changes from the mcflugen/fix-for-new-bmi branch.
(The latest changes aren't yet in the CSDMS dev channel.)
 mkdir opt && cd opt
 git clone https://github.com/csdms/pymt
 cd pymt
 git branch mcflugen/fix-for-new-bmi
 git checkout mcflugen/fix-for-new-bmi
 git pull origin mcflugen/fix-for-new-bmi
 python setup.py develop
To aid debugging,
we recommend installing with "develop" for this and all
Python packages built from source.
PyMT needs cfunits to run.
 conda install -c csdms cfunits-python
Clone and install bmi-babel.
(The latest changes aren't yet in the dev channel.)
 cd $root/opt
 git clone https://github.com/bmi-forum/bmi-babel
 cd bmi-babel
 python setup.py develop
The CSDMS scripting package is a new requirement for bmi-babel.
 conda install -c csdms/channel/dev scripting
Finally, clone and install wmt-exe.
 cd $root/opt
 git clone https://github.com/csdms/wmt-exe
 cd wmt-exe
 python setup.py develop
Check the installation by calling wmt-info:
 cd $root
 wmt-info
which, on the executor I've set up, returns:
 [beach.colorado.edu]
 host_nickname = beach
 ssh_port = 22
 host = beach.colorado.edu
 directory = /home/csdms/wmt/_testing/conda
CSDMS model components can now be installed into this WMT executor.
--Mpiper (talk) 10:53, 23 September 2016 (MDT)
Installing a WMT server

==Installing a WMT server==
A WMT server is the part of the CSDMS Web Modeling Tool that acts as the controller.
The server receives information describing a job from the WMT client,
packages the information, and sends it to the WMT executor.
Once a job is complete,
the results are transferred from the executor back to the server,
which places them in a location to be picked up by the user.
Instances:
* wmt-permafrost server on diluvium
* wmt-analyst server on diluvium
Installing components into a WMT executor

==Installing components into a WMT executor==
Once a WMT executor has been installed on a computational resource,
CSDMS model components can be added to it.
Start in the executor's root directory, and, if you haven't already done so, define a helpful shell variable.
 cd /home/csdms/wmt/_testing
 root=$(pwd)
Process:
# Download BMI-ed model source code 
# Install model into executor
# Babelize model
Instructions for adding a BMI to a model

Currently, these are only (very) loose notes gathered from discussions with Mariela, Scott, and Eric.
==Standard names==
What variables will your model accept as input, and provide as output?
Consult the list of standard names.
However, don't use standard names in the input file for your model! (I'm trying to work around this, however.)
== Metadata ==
After you've added a BMI to a model, you'll need to create a set of BMI metadata files.
These files are used by CSDMS software engineers to transform the model into a CSDMS plug-and-play component.
There are typically four files:
# api.yaml: describes how to build the model
# info.yaml: gives author information and a description of the model
# parameters.yaml: lists all input parameters for the model, as well as their type, range, and default value
# <your_model_input_file>.tmpl: a template input file for the model, with {variables} from parameters.yaml in place of parameter values
 
These files should be placed in a directory named .bmi at the root of your repository.
Use CamelCase for the component name in api.yaml.
For example, "FrostNumberModel", not "Frost_Number_Model".
Don't forget the initialize_args attribute in api.yaml -- it's used by PyMT
to know what file the component's initialize method takes as an argument.
Take care to validate the YAML used for these files.
For examples, see the .bmi directory in https://github.com/csdms/bmi-live-2016.
==Units==
Parameters should be described with standard units.
CSDMS uses the UDUNITS package developed by Unidata.
UDUNITS follows the syntax for unit strings developed by NIST.
The UDUNITS manual
has some useful information,
especially Section 4.3, "What Gets Installed?",
which lists the actual XML files used by UDUNITS.
This I've found most useful -- on a machine where UDUNITS is installed, I've grepped these files for unit definitions.
=== Time ===
CSDMS has traditionally used days, d, for time units.
Years, yr, are also used.
We should really move to the SI standard of seconds, s.
Model time should start at 0.0.
Scott argues that we should allow the option of calendar-based time.
==The CSDMS Bakery and Farm==
We use Anaconda Cloud to host built distributions of componentized models and tools.
There are two channels, csdms (https://anaconda.org/csdms) and csdms-stack (https://anaconda.org/csdms-stack).
The csdms channel (aka The Farm) is used for development builds of components,
usually based on the master branch of the component's repository.
The csdms-stack channel (aka The Bakery) is used for release builds of components.
The recipes in this channel should be tied to a particular release of the component.
(Think of The Bakery as the stable channel.)
The Farm is really only used for development and testing.
The Bakery is public-facing.
Invitees

=Invited presenters=
You have reached this page as you are an Invited speaker or Clinic leader for the upcoming CSDMS 2025 Annual Meeting: Exploring Earth's Surface with Models, Data & AI meeting. 
How to proceed:
# Login
#* Login to the website if you haven't already: [ Log in], or,
#* recover your old account: Search or email:CSDMSweb@colorado.edu, or,
#* create an CSDMS member account if you are not a member (notice this might take a few hours but you get an email to confirm your account): create account
# Submit a title and abstract of your presentation or clinic (use the link below).
# In the form, no need to upload your actual presentation or clinic material at this point, we'll do this at a later stage for you.
# Although changes can still be made, your abstract and title will be displayed on the meeting website as soon as you filled out and submit the form below.
Contact CSDMSweb@colorado.edu if you have any questions.
Join CSDMS

Become part of the Community Surface Dynamics Modeling System (CSDMS) today by signing up for free. Membership is open to all interested participants, but CSDMS remains the rights to for example reject people that explicitly promote commercial oriented material.
By signing up, you agree to actively participate in the various working groups, focus research groups or initiatives that you signed up for. So be part in the discussions, review activities, lead or participate in group projects, and, whenever possible, support your chair and join your group meetings. people from academia, government institutes or private organizations joined CSDMS before you. Please explore the CSDMS website to find out more about the various active CSDMS groups or to learn more about CSDMS in general. 
==Join==
To join, please follow this link and complete the form. A CSDMS staff member and/or the chair of the appropriate group will contact you to provide information on CSDMS activities related to that group.
==Not sure if you want to become a member? Watch this video!==
Joint workshop Hydrology EKT and Cyberinformatics Nov2009

===Joint Workshop for CSDMS Education & Knowledge Transfer Working Group, Cyberinformatics Working Group, and Hydrology Focus Research Group, Boulder, CO, Nov 16-17, 2009===
Date: November 16-17, 2009
Location: Millennium Hotel at Boulder (CO), USA
Host:	CSDMS
==== Participants ====
Meeting registration is now closed.
==== Circulars and Program====
The Workshop for CSDMS Education & Knowledge Transfer Working Group, Cyberinformatics Working Group, and Hydrology Focus Research Group will be for 2 days. 
====Agenda====
Format:
The format will consist of a mix of presentations, demonstrations and hands-on exercises, breakout discussion groups, and writing sessions. Most time will be devoted to breakout-group and whole-group discussions.
Agenda:
Please follow to view the agenda dated November 4, 2009.
====Talks====
</table>
Joint workshop Marine WG Carbonate FRG

===Joint workshop for CSDMS Marine Working Group and Carbonate Focus Research Group, Boulder, CO, Oct 19-20, 2009===
Date: October 19-20, 2009
Location: Millennium Hotel at Boulder (CO), USA
Host:	CSDMS
==== Introduction ====
The groups are organized to meet together and separately to brainstorm, refine and achieve their goals for the upcoming year(s).
==== Participants ====
Registration is now closed.
==== Circulars and Program====
The joint Marine Working Group and Carbonate Focus Research Group will meet for 2 days. 
====Agenda====
Format:
The format will consist of a mix of presentations, demonstrations and hands-on exercises, breakout discussion groups, and writing sessions. Most time will be devoted to breakout-group and whole-group discussions.
Agenda:
====Presentations====
</table>
|-
| class="presentations_col1"| Peter Burgess
| class="presentations_col2"| Breakout Session results Carbonate FRG
| class="presentations_col3"| ppt | 
|-
| class="presentations_col1"| Pat Wiberg
| class="presentations_col2"| Breakout Session results Marine WG
| class="presentations_col3"| ppt | 
|-
| class="presentations_col1"| Summary
| class="presentations_col2"| Summary of the meeting
| class="presentations_col3"| ppt | pdf 
|-
|}
JupyterHubGitHubSignUp

Logins to the jupyter instance of the OpenEarthscape JupyterHub are controlled through GitHub.
It takes a little extra work to set this up, but afterward you won't have to remember a username + password to login.
To obtain a login, follow these steps.
# You must be a CSDMS member to use this Hub. Join CSDMS if you're interested in using community software to model earth and planetary surface processes.
# If you don't already have a GitHub account, sign up for one.
# Request authorization for your account through the CSDMS Help Desk. You should typically hear back in less than a day.
Once you're approved, sign in to the Hub.
== The first-time login process ==
The first time you login, you'll be asked to authenticate through GitHub.
Here are some screenshots of the process.
First, the login screen for https://jupyter.openearthscape.org.
Click the "Sign in with GitHub" button.
Next, you'll be asked to provide your GitHub login credentials.
If you've turned on two-factor authentication in GitHub, you'll also be asked to provide a code.
Finally, GitHub will ask you if it's OK to use your credentials to login to the OpenEarthscape JupyterHub.
These steps are only performed once.
Afterward, GitHub will automatically log you in to the JupyterHub.
File:hub-login-screen.png|The OpenEarthscape JupyterHub login screen
File:provide-github-credentials.png|Provide GitHub login credentials to continue
File:allow-use-of-credentials.png|Allow the OpenEarthscape JupyterHub to use your GitHub credentials for login
JupyterHubSignUp

== Getting access to the CSDMS JupyterHub ==
Although the CSDMS JupyterHub is publicly available, it's password-protected.
To obtain a login, follow these steps.
# If you're not already a CSDMS member, sign up
# Create a login on the JupyterHub, providing a username and password (they can be whatever you like); this is separate from your CSDMS membership
# Request authorization for your new JupyterHub account through the CSDMS Help Desk--if you don't already have a GitHub account, you'll be asked to make one
# Once you're approved, sign in to the Hub!
JupyterHubUploadDownload

Uploading and downloading individual files from a JupyterHub is straightforward,
but the process for multiple files is trickier.
We'll go over a few examples here.
= Download a file, upload a file = 
To download a file to your local computer, right-click on the file in the JupyterHub File Browser
and select Download, as shown in Figure 1 below.
To upload a file from your local computer to the JupyterHub, click on the upload button at the top of the JupyterHub File Browser, as shown in Figure 2 below.
File:hub-download-button.png | Figure 1. Right-click to download a file.
File:hub-upload-button.png | Figure 2. Click the upload button to upload a file.
= A problem and a solution =
Problem:
The examples above only work for individual files.
What if you want to download or upload multiple files?
Solution:
Group files into a directory and create an archive file,
such as a zip file or tarball,
then download/upload the archive file.
In the examples that follow,
we'll use zip files;
while they don't offer the best compression,
they're well-supported across Linux, macOS, and Windows.
= Download a directory = 
On the JupyterHub, open a terminal.
Locate the directory you want to download.
For example, I'd like to download a directory called tmp.
Zip it up:
 $ zip -rT tmp.zip tmp
then use the instructions above to download the file tmp.zip to your local computer.
To unpack the zip file on your local computer,
you can either double click on it in your operating system's file manager,
or you can use unzip it in a terminal:
 $ unzip tmp.zip
= Upload a directory =
On your local machine, find the directory of files you'd like to upload.
Zip the directory, either with your operating system's file manager or with the zip command in a terminal, as above.
Use the upload instructions above.
On the JupyterHub, open a terminal and unzip the file.
Labs ERODE

==Hydrology and Flow Routing==
Classroom organization
If you have never used the Web Modeling Tool, learn how to use it here. The WMT allows you to set up simulations, but once you are ready to run them, you will need an account on the CSDMS supercomputer to submit your job.
More information on getting an account can be found here HPCC Access. Note that this takes a few days!
This lab introduces you to raster-based flow routing; this basic concept of flow routing is a key process in many hydrological and sediment transport models. 
Whereas flow routing can be complicated, we here present a basic algorithm. This lab takes ~1 hr to complete.
Learning objectives 
* get familiar with the concept of flow routing in a digital elevation model/ grid
* learn about the D8 method, contributing area and flow length in the drainage direction
Lab Notes
An important part of any landscape evolution model is the way it treats routing of water (and sediment) through the landscape. To give you a bit of a feel of the methodology, we will look at the ‘D8 method’ for determining the drainage directions in a raster grid. 
Assume you have a 3 by 3 grid. So if one has a source cell of interest in the middle, we assume that water and sediment drains in the direction of the steepest slope. This concept is also called ‘steepest descent’. The grid cell in the middle then has 8 neighboring cells, and depending on their elevations (z), and the distance between the cells, d, you can calculate the slope, S. 
::::
S = \Delta z / d	(1)
These surrounding cells are coded as shown in the figure here: 
 Question
 In the hypothetical elevation grid below, the source cell and its 8 neighbors have defined elevation values.
 Where does the water drain to? Select the correct cell and list its D8- grid value.
 Question
 Can you think of a theoretical situation when a D8 flow direction algorithm would not work? 
 What would such a situation look like in a real DEM?
>> Open a new browser window and open the Web Modeling Tool WMT with hydrology components
>> We have two DEM datasets loaded into the WMT dataset for the D8 component. 
There is an example called 'HydrologyLab_D8_MountSopris' and one called 'HydrologyLabs_ D8Global_WindRiverRange'
>> Run the D8 component for either example and plot the contributing area grid (A) and the flow length (ds) resulting from the calculations.