RSE: Difference between revisions

From CSDMS
(Introduce RSEaaS)
 
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{PageTitle|Software Engineering}}
{{PageTitle|Research Software Engineering}}


Do you need help
Do you need help
Line 10: Line 10:


* configuring a build system with CMake,
* configuring a build system with CMake,
* refactoring Fortran 77 to object-oriented Fortran 2003+,
* updating Fortran 77 code to object-oriented Fortran 2003+,
* speeding up underperforming Python code with Cython, or
* speeding up underperforming Python code with Cython, or
* setting up a model to run on the [[HPC|CSDMS HPC]]?
* setting up a model to run on the [[HPC|CSDMS HPC]]?


CSDMS software engineers, with research backgrounds in quantitative Earth sciences and expertise in scientific software development, can help.
Or are you more looking for training?
 
CSDMS research software engineers (RSEs), with backgrounds in quantitative earth sciences and expertise in scientific software development, can help.


=Research Software Engineering as a Service=
=Research Software Engineering as a Service=


Although software has become fundamental to research,
CSDMS bridges the gap between science and software,
many earth scientists have little or no training in software development.
empowering earth scientists to create sustainable code that is well tested, maintainable, modular, and robust,
CSDMS bridges this gap,
by providing the community with one-on-one consulting with a CSDMS research software engineer.
empowering earth scientists to create sustainable software that is well tested, maintainable, modular, and robust,
by providing the community with one-on-one consulting with a CSDMS software engineer.
We call this consulting service Research Software Engineering as a Service (RSEaaS).
We call this consulting service Research Software Engineering as a Service (RSEaaS).
On an ongoing basis, CSDMS will review requests for RSEaaS support,
On an ongoing basis, CSDMS will review requests for RSEaaS support,
and allocate resources based on need and impact.
and allocate resources based on need and impact.
To be eligible, projects must be completely open source and must address broader CSDMS goals.
To be eligible, projects must be open source and must address broader CSDMS goals.
RSEaaS is an efficient, cost-effective way to jump-start a project.
RSEaaS is an efficient, cost-effective way to jump-start a project.


Line 37: Line 37:
Scientists planning to develop code to answer outstanding research questions are invited to collaborate with CSDMS.
Scientists planning to develop code to answer outstanding research questions are invited to collaborate with CSDMS.
Creating a new model or analysis tool typically demands a significant investment of time.
Creating a new model or analysis tool typically demands a significant investment of time.
An experienced CSDMS software engineer can reduce this time investment,
An experienced CSDMS research software engineer can reduce this time investment,
saving you money,
saving you money,
plus the resulting code will be flexible, interoperable, robust, and reusable.
plus the resulting code will be flexible, interoperable, robust, and reusable.
Depending on the needs of your project,
Depending on the needs of your project,
we invite you to discuss options for including work with a CSDMS software engineer,
we invite you to discuss options for including work with a CSDMS research software engineer,
either through a collaborative proposal or a subaward.
either through a collaborative proposal or a subaward.
= Training=
We teach a variety of programming and modeling skills workshops, ranging from one- or two-day
[https://software-carpentry.org Software Carpentry] workshops
to short courses on earth surface process modeling with [[Landlab]] and the [[PyMT|Python Modeling Toolkit (pymt)]].
Lessons are derived from the [https://github.com/csdms/ivy CSDMS Ivy] course material
and presented on the [[OpenEarthscape]] [[JupyterHub]],
a scalable hosting platform with simple access control for instructors and students.
The CSDMS research software engineers (RSEs) have research backgrounds in quantitative earth sciences
and expertise in scientific software development,
so the courses and workshops we teach can be tailored for a technical focus;
for example, we can teach programming best practices, model development, and model coupling with the CSDMS [[Workbench]].
Further, we have experience teaching introduction to modeling with hands-on clinics for advanced undergraduates and beginning graduate students.


For more information, as well as examples of previous successful collaborations, please contact us at [mailto:csdms@colorado.edu csdms@colorado.edu].
For more information, as well as examples of previous successful collaborations, please contact us at [mailto:csdms@colorado.edu csdms@colorado.edu].

Latest revision as of 13:02, 18 November 2022

Research Software Engineering

Do you need help

Or perhaps you need something more low-level, like

  • configuring a build system with CMake,
  • updating Fortran 77 code to object-oriented Fortran 2003+,
  • speeding up underperforming Python code with Cython, or
  • setting up a model to run on the CSDMS HPC?

Or are you more looking for training?

CSDMS research software engineers (RSEs), with backgrounds in quantitative earth sciences and expertise in scientific software development, can help.

Research Software Engineering as a Service

CSDMS bridges the gap between science and software, empowering earth scientists to create sustainable code that is well tested, maintainable, modular, and robust, by providing the community with one-on-one consulting with a CSDMS research software engineer. We call this consulting service Research Software Engineering as a Service (RSEaaS). On an ongoing basis, CSDMS will review requests for RSEaaS support, and allocate resources based on need and impact. To be eligible, projects must be open source and must address broader CSDMS goals. RSEaaS is an efficient, cost-effective way to jump-start a project.

For more information, consulting rates, or to submit a request for RSEaaS support, please contact us at csdms@colorado.edu.

Proposal Collaboration

Scientists planning to develop code to answer outstanding research questions are invited to collaborate with CSDMS. Creating a new model or analysis tool typically demands a significant investment of time. An experienced CSDMS research software engineer can reduce this time investment, saving you money, plus the resulting code will be flexible, interoperable, robust, and reusable. Depending on the needs of your project, we invite you to discuss options for including work with a CSDMS research software engineer, either through a collaborative proposal or a subaward.

Training

We teach a variety of programming and modeling skills workshops, ranging from one- or two-day Software Carpentry workshops to short courses on earth surface process modeling with Landlab and the Python Modeling Toolkit (pymt). Lessons are derived from the CSDMS Ivy course material and presented on the OpenEarthscape JupyterHub, a scalable hosting platform with simple access control for instructors and students. The CSDMS research software engineers (RSEs) have research backgrounds in quantitative earth sciences and expertise in scientific software development, so the courses and workshops we teach can be tailored for a technical focus; for example, we can teach programming best practices, model development, and model coupling with the CSDMS Workbench. Further, we have experience teaching introduction to modeling with hands-on clinics for advanced undergraduates and beginning graduate students.

For more information, as well as examples of previous successful collaborations, please contact us at csdms@colorado.edu.