Git Product home page Git Product logo

cosmo's Introduction

COSMO

Fortran libraries and tools initially created during the COSMO project (CTM2016-79474-R, MINECO/FEDER, UE) and further developed during the MEDOSMOSIS (6MED20_4.1._SP_005) project.

The code has been developed under Ubuntu using the GNU Fortran 9.4.0 compiler and the Fortran 90 netcdf library version 4.3.3 and 4.7.3 and python versions 3.6.3 and 3.8.10. It has been also tested in Centos using python 3.8.12 under anaconda (conda version4.11.10).

Purpose: Build a fortran utilities library and a Lagrangian trajectory integrator (COSMO Lagrangian Model). Requirements: Fortran compiler and the NetCDF F90 library version 4.3.X.X

Dependencies

To have access to all the capabilities of the codes, both a fortran compiler and a Python 3 interpreter are necessary. In addition, the following libraries, utilities and python modules are required:

Utilities

  • FFmpeg: a collection of libraries and programs for handling video and multimedia (Required by cosmo-view to create animations).

Libraries

  • NetCDF-Fortran library for running the Lagrangian model (written in Fortran).
  • GEOS
  • PROJ
  • Shapely

Python3 modules

  • tkinter
  • PIL
  • numpy
  • scipy
  • matplotlib
  • netcdf4
  • Beautiful Soup
  • wget
  • psycopg2
  • future
  • requests
  • tkcolorpicker
  • py-postgresql
  • shapely
  • owslib
  • tkcalendar
  • motuclient
  • cartopy

Some of these packages may already be installed in your operational system. Other might need to be installed. Be aware that the actual names of these packages and the commands required for their installation will vary from one system to another. Windows 10 users are strongly encouraged to install a Windows Subsystem for Linux (WSL) that will allow installing a Ubuntu 20.04 LTS environment running directly under windows.

Installing

Once all dependencies have been installed, the cosmo code can be retrieved through git:

$ git clone https://github.com/quimbp/cosmo.git

Downloading isobath data

Auxiliary isobath contours, useful for cosmo-view can be downloaded from here:

https://nuvol.cmima.csic.es/owncloud/s/x8fGx5cEyHo7KMt/download

Download this file and save in the cosmo root folder (the folder where the file make.inc is located). Then, install it as

$ tar -xvzf isobaths.tar.gz

This command should extract the isobaths and place them in the folder data/isobaths

Compilling Fortran code

Edit the file make.inc and modify the linux sustem (Ubuntu or Centos), the fortran compiler, the fortran compiler options or the paths to the NetCDF modules and libraries. Be aware that, for ubuntu systems, make.inc uses the utility nc-config to obtain the location of the NetCDF files. However, this utility fails to provide the correct paths in Centos.

Then type,

$ make

If compilation succeeds, the COSMO Lagrangian Model will be located in $COSMO/bin/clm

Type

$ $COSMO/bin/clm --help

to obtain the list of options for running the model. A detailed User Documentation will be uploaded shortly.

Python utilities

Three utilities are currently available:

cosmo-json.py

A visualization tool to visualize JSON files with lagrangian trajectories generated during the COSMO project. This tool allows simple selection of initial and final points and to remove undesired locations.

$ python3 cosmo-jason.py

release_point.py

A tool returning the initial position and the release date of a JSON lagrangian trajectory.

$ python3 release_point.py ../data/exp001.json
Opening file ../data/exp0001.json
1.4167 41.0002 2017-11-22T10:35:13

Using the option '-label' the corresponding option names required by the COSMO Lagrangian Model are included.

$ python3 release_point.py -label ../data/exp001.json
Opening file ../data/exp0001.json
-xo  1.4167 -yo  41.0002  -do  2017-11-22T10:35:13

cosmo-view.py

A visualization tool to visualize ocean currents. It can load fields directly from operational providers or from Netcdf files. It can superimpose satellite SST data received by the HPRT station located in the Institut de Ciencies del Mar (ICM/CSIC) and lagrangian trajectories created by the COSMO Lagrangian Model or JSON files from field experiments.

$ $COSMO/bin/cosmo-view

A detailed User Documentation will be uploaded shortly.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

The COSMO project was funded by the Spanish Government Minstry of Economy and Competitivity (CTM2016-79474-R, MINECO/FEDER, UE). The MEDOSMOSIS project (6MED20_4.1._SP_005) was funded by the INTERREG-MED program. This work is the result of the collaboration of ICM-CSIC Research Team: Dr. Jordi Isern, Dr. Jordi Sole, Dr. Justino Martinez and Dr. Jose Antonio Jimenez.

cosmo's People

Contributors

egladona avatar quimbp avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

jmallegue

cosmo's Issues

Quim; Dues cosetes que val la pena fusionar ara

A la branca Valles he canviat dues coses que crec hauries de fusionar tant aviat com puguis:

  • He canviar el cosmo-logo.png del "About" afegint el logo del MEDOSMOSIS.
  • He modificar drawing.py per escalar correctament les fonts del text al costat dels llistats de fitxers i directoris en els widget tipus "filedialog". Ara en modificar el Configure > Widgets, el size actualitzar aquestes fonts.

cosmo

Recordar en el apartado de la documentación ("Instalación") que para instalar en directorios diferentes de ($HOME)/cosmo hay que revisar el fiochero make.inc y modificar la línea:

COSMO = $(HOME)/cosmo

por

COSMO = /my_path/cosmo

Si no el make falla al buscar directorios.

Emilio

Allow for different types of Arakawa grids

The current version of cosmo-view assumes all fields defined on the same grid. As such only one grid is defined and read, and it its used for all fields. Generalization to different grid types would require definition of different sets of longitude and latitude per variable and a variable accounting for the grid type.

Problem when I try to install

Hi, I'm trying to install cosmo in a ubuntu16.04 server with hdf5-1.10.4 and zlib-1.2.11

When I execute "make install", I receive this error:

use netcdf
1
Fatal Error: Can't open module file 'netcdf.mod' for reading at (1): No such file or directory
Makefile:11: recipe for target 'cdf.o' failed
make[1]: *** [cdf.o] Error 1
make[1]: Leaving directory '/var/cosmo/src/lib'
Makefile:16: recipe for target 'COSMO' failed
make: *** [COSMO] Error 2

If I search for “netcdf.mod” , I haven’t this file in My server

I attach you my make.inc file.
make.zip

Can you help me?
Have you got any guide about the installation process?

Thank you!

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.