Directory trunk/libf/phydev/

Directory Created:
2012-02-10 17:42
Total Files:
12
Deleted Files:
21
Lines of Code:
1424

[root]/trunk/libf/phydev

Lines of Code

trunk/libf/phydev/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 110 (100.0%) 3090 (100.0%) 28.0
emillour 85 (77.3%) 2957 (95.7%) 34.7
lguez 23 (20.9%) 127 (4.1%) 5.5
fairhead 2 (1.8%) 6 (0.2%) 3.0

Most Recent Commits

emillour 2016-10-02 18:28 Rev.: 2643

- move iophys.F90 to phylmd since it depends on files there (with some modifications, iophys.F90 could be made generic enough to be in phy_common).
- some adaptations to make phydev XIOS2 compliant.
EM

6 lines of code changed in 1 file:

  • trunk/libf/phydev: physiq_mod.F90 (+6 -6)
emillour 2016-07-13 08:54 Rev.: 2588

-Small change in the dynamics/physics interface organization:
externalize (from iniphysiq) operations wich initialize settings
common to all physics packages (e.g. global grid definitions;
in practice initializations for routines either in phy_common
or in dynphy_lonlat) in inigeomphy (located in dynphy_lonlat).
iniphysiq should only initialize settings in the corresponding
physics package (e.g. phylmd for dynphy_lonlat/phylmd/iniphysiq).

- Bug fix in phydev/iophy: is_south_pole_dyn replaces
is_south_pole since rev. 2429.

EM

3 lines of code changed in 1 file:

  • trunk/libf/phydev: iophy.F90 (+3 -3)
emillour 2016-01-06 13:37 Rev.: 2422

Small modification in the way time and calendar are handled: Now all the time keeping is done in the physics and only the timestep is transfered from the dynamics to the physics. Due to changes in computations and roundoffs this will change reference bench results.
The implementation of this change in phymar is left as future work.
EM

1 lines of code changed in 1 file:

  • trunk/libf/phydev: physiq_mod.F90 (+1 -3)
emillour 2016-01-03 12:16 Rev.: 2418

Improving the physics/dynamics interface:
- added module callphysiq_mod.F90 in dynphy_lonlat/phy*** which contains the routine "call_physiq" which is called by calfis* and calls the physics. This way different "physiq" routine from different physics packages may be called: The calfis* routines now exposes all available fields that might be transmitted to physiq but which is actually send (ie: expected/needed by physiq) is decided in call_physiq.
- turned "physiq.F90" into module "physiq_mod.F90" for better control of "physiq" arguments. Extracted embeded "gr_fi_ecrit" as self-standing routine (but note that this routine actually only works in serial mode).
EM

203 lines of code changed in 2 files:

  • trunk/libf/phydev: physiq.F90 (del), physiq_mod.F90 (new 203)
emillour 2015-11-18 14:25 Rev.: 2395

Bug fix for aquaplanets: "rlat" and "rlon" were uninitialized when written to startphy.nc; phyredem should write "longitude_deg" and "latitude_deg" to the file. Overall "rlat" and "rlon" should not be used and "latitude_deg" and "longitude_deg" should be used instead in the physics. To be further cleaned up.
Some cleanup on that mater also made in phydev.
Note that this change will make bench test results different for longitudes and latitudes, because of roundoff effects.
EM

65 lines of code changed in 4 files:

  • trunk/libf/phydev: phyaqua_mod.F90 (+1 -11), phyetat0.F90 (+50 -18), phyredem.F90 (+3 -3), phys_state_var_mod.F90 (+11 -11)
emillour 2015-08-25 17:14 Rev.: 2351

More on physics/dynamics separation and cleanup:
- Set things up so that all physics-related initializations are done via iniphysiq.
- Created a "geometry_mod.F90" module in phy_common to store information on the loacl grid (i.e. replaces comgeomphy) and moreover give these variables more obvious names (e.g.: rlond => longitude, rlatd => latitude, airephy => cell_area).
- removed obsolete comgeomphy.h and comgeomphy.F90
EM

9 lines of code changed in 4 files:

  • trunk/libf/phydev: comgeomphy.F90 (del), init_phys_lmdz.F90 (del), phyaqua_mod.F90 (+4 -5), physiq.F90 (+5 -3)
emillour 2015-07-10 14:24 Rev.: 2326

Further code reorganization: adding "phy_common", a directory which should contain routines common (wrt structural nature of the underlying code/grid) to all LMDZ-related physics packages.
EM

45 lines of code changed in 5 files:

  • trunk/libf/phydev: abort_physic.F90 (del), ioipsl_getin_p_mod.F90 (del), iophy.F90 (+39 -38), physiq.F90 (+6 -9), print_control_mod.F90 (del)
emillour 2015-07-01 15:57 Rev.: 2320

Physics/dynamics separation: make an infotrac_phy module, which should be used from within the physics, and is initialized from infotrac (dynamics) via iniphysiq.
EM

28 lines of code changed in 2 files:

  • trunk/libf/phydev: infotrac_phy.F90 (new 27), physiq.F90 (+1 -1)
emillour 2015-06-25 09:45 Rev.: 2311

Further modifications to enforce physics/dynamics separation:
- moved iniprint.h and misc_mod back to dyn3d_common, as these should only be used by dynamics.
- created print_control_mod in the physics to store flags prt_level, lunout, debug to be local to physics (should be used rather than iniprint.h)
- created abort_physic.F90 , which does the same job as abort_gcm() did, but should be used instead when in physics.
- reactivated inifis (turned it into a module, inifis_mod.F90) to initialize physical constants and print_control_mod flags.
EM

38 lines of code changed in 5 files:

  • trunk/libf/phydev: abort_physic.F90 (new 2), inifis_mod.F90 (new 28), ioipsl_getin_p_mod.F90 (new 2), iophy.F90 (+4 -4), print_control_mod.F90 (new 2)
emillour 2015-03-23 09:27 Rev.: 2239

Reorganizing physics/dynamics interface:
- what is related to dynamics-physics interface is now in a seperate directory: dynlmdz_phy*** for physics in phy***
- 1d model and related dependencies (including a couple from "dynamics", set up as symbolic links) is now in subdirectory "dyn1d" of phy***.
- "bibio" directory is now "misc" and should only contain autonomous utilities.
- "cosp" is now a subdirectory of phylmd.
EM

0 lines of code changed in 8 files:

  • trunk/libf/phydev: iniphysiq.F90 (del), mod_grid_phy_lmdz.F90 (del), mod_phys_lmdz_mpi_data.F90 (del), mod_phys_lmdz_mpi_transfert.F90 (del), mod_phys_lmdz_omp_data.F90 (del), mod_phys_lmdz_omp_transfert.F90 (del), mod_phys_lmdz_para.F90 (del), mod_phys_lmdz_transfert_para.F90 (del)
emillour 2015-03-13 11:01 Rev.: 2233

Fix missing declarations for iniphysiq in "phydev" and "phymar".
EM

5 lines of code changed in 1 file:

  • trunk/libf/phydev: iniphysiq.F90 (+5)
emillour 2015-03-11 16:55 Rev.: 2225

Some cleanup and tidying up in the dynamics/physics interface.
EM

91 lines of code changed in 1 file:

  • trunk/libf/phydev: iniphysiq.F90 (+91 -44)
emillour 2015-03-09 08:38 Rev.: 2221

Some cleanup: remove (unused) clesph0 from dynamics.
EM

1 lines of code changed in 1 file:

  • trunk/libf/phydev: physiq.F90 (+1 -3)
fairhead 2014-07-21 14:39 Rev.: 2097

Changement de nom de clef CPP:
CPP_NO_IOIPSL devient CPP_IOIPSL_NO_OUTPUT pour éviter la confusion. Elle
permet de ne pas sortir les fichiers IOIPSL "proprement"
L'option -io de makelmdz et makelmdz_fcm est changée:
avec la valeur ioipsl, on ne sort que les fichier IOIPSL
mix, on sort les fichiers IOIPSL et XIOS
xios, on ne sort que les fichiers XIOS

-------------------------------------------

Change in the name of a CPP key:
CPP_NO_IOIPSL becomes CPP_IOIPSL_NO_OUTPUT. If defined, IOIPSL outputs are not
generated.
The -io option for makelmdz and makelmdz_fcm is changed as well:
with the value ioipsl, only IOIPSL files are output
mix, IOIPSL and XIOS files are output
xios, only XIOS files are output

6 lines of code changed in 2 files:

  • trunk/libf/phydev: iophy.F90 (+3 -2), physiq.F90 (+3 -3)
lguez 2014-05-06 16:56 Rev.: 2037

PVteta computed by PVtheta was not used. Also there were a couple of
problems with PVtheta:

-- PVtheta calls tetalevel in phylmd, and interpolates at
Earth-specific values of potential temperature.

-- PVtheta calls tourabs, and the computation of rot in tourabs should
be modified (it is not correct when there is a zoom).

-- Even when there is no zoom, the computation of rot in tourabs
should probably be modified: directly combine vcov and ucov, as in
tourpot, instead of dividing by cv and cu.

1 lines of code changed in 2 files:

  • trunk/libf/phydev: physiq.F90 (+1 -6), tetalevel.F90 (del)
emillour 2014-04-04 14:39 Rev.: 2002

Further cleanup concerning XIOS (mainly about axes being defined as axes and not as groups of axes).
EM

15 lines of code changed in 2 files:

  • trunk/libf/phydev: iophy.F90 (+4 -4), physiq.F90 (+11 -7)
emillour 2014-03-05 17:42 Rev.: 1994

Follow the trend; convert all fixed form sources in phydev to free form.
EM

213 lines of code changed in 10 files:

  • trunk/libf/phydev: gr_fi_ecrit.F (del), gr_fi_ecrit.F90 (new 27), iniphysiq.F (del), iniphysiq.F90 (new 100), phyaqua.F (del), phyaqua_mod.F90 (new 46), phyredem.F (del), phyredem.F90 (new 38), tetalevel.F (del), tetalevel.F90 (new 2)
lguez 2013-11-26 15:10 Rev.: 1907

Added a copyright property to every file of the distribution, except
for the fcm files (which have their own copyright). Use svn propget on
a file to see the copyright. For instance:

$ svn propget copyright libf/phylmd/physiq.F90
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory

Also added the files defining the CeCILL version 2 license, in French
and English, at the top of the LMDZ tree.

126 lines of code changed in 21 files:

  • trunk/libf/phydev: comcstphy.F90 (+6), comgeomphy.F90 (+6), dimphy.F90 (+6), gr_fi_ecrit.F (+6), iniphysiq.F (+6), init_phys_lmdz.F90 (+6), iophy.F90 (+6), iostart.F90 (+6), mod_grid_phy_lmdz.F90 (+6), mod_phys_lmdz_mpi_data.F90 (+6), mod_phys_lmdz_mpi_transfert.F90 (+6), mod_phys_lmdz_omp_data.F90 (+6), mod_phys_lmdz_omp_transfert.F90 (+6), mod_phys_lmdz_para.F90 (+6), mod_phys_lmdz_transfert_para.F90 (+6), phyaqua.F (+6), phyetat0.F90 (+6), phyredem.F (+6), phys_state_var_mod.F90 (+6), physiq.F90 (+6), tetalevel.F (+6)
emillour 2013-11-06 12:25 Rev.: 1900

Bug fix, iwrite_phy_omp must be saved (shared by all OpenMP threads).
FH

2 lines of code changed in 1 file:

  • trunk/libf/phydev: physiq.F90 (+2 -1)
emillour 2013-10-25 10:12 Rev.: 1897

Getting XIOS to work in MPI, OpenMP and mixed MPI/OpenMP modes. Use "-io xios" option with makelmdz or makelmdz_fcm to enable XIOS (this doesn't deactivate IOIPSL outputs; to suppress IOIPSL outputs, add cpp flag CPP_NO_IOIPSL).
EM

60 lines of code changed in 2 files:

  • trunk/libf/phydev: iophy.F90 (+54 -114), physiq.F90 (+6 -4)
emillour 2013-10-03 12:00 Rev.: 1883

Updating/adapting iophy in phydev (part 2/2).
EM

463 lines of code changed in 1 file:

  • trunk/libf/phydev: iophy.F90 (new 463)
emillour 2013-10-03 11:58 Rev.: 1882

Updating/adapting iophy in phydev (part 1).
EM

21 lines of code changed in 2 files:

  • trunk/libf/phydev: iophy.F90 (del), physiq.F90 (+21 -16)
emillour 2013-08-30 10:47 Rev.: 1852

Implémentation des sorties XIOS dans LMDZ. Activation via -cpp CPP_XIOS.
ATTENTION: un problème de raccord subsiste en mode MPI !
UG
................................
Adding XIOS output to LMDZ. Activated by the CPP_XIOS key.
WARNING: buggy for now in MPI mode.
UG

36 lines of code changed in 1 file:

  • trunk/libf/phydev: physiq.F90 (+36)
emillour 2013-05-24 11:52 Rev.: 1759

IOIPSL routine getin is not threadsafe, so when running in OpenMP, it should be called by only one thread (and the result copied to other threads in the case of threadprivate variables).
EM

8 lines of code changed in 1 file:

  • trunk/libf/phydev: physiq.F90 (+8 -2)
emillour 2012-12-05 12:34 Rev.: 1686

Some additional stuff for "phydev": add what is required to be potentialy able to load a "startphy.nc" and also add illustrative examples of writting outputs in the physics using IOIPSL.
EM

169 lines of code changed in 5 files:

  • trunk/libf/phydev: gr_fi_ecrit.F (new 27), phyaqua.F (+1 -1), phyetat0.F90 (new 27), phys_state_var_mod.F90 (+6 -2), physiq.F90 (+108 -95)
emillour 2012-10-24 09:10 Rev.: 1671

- fixed "aquaplanet case" so that initializations (creation of
files startphy.nc and limit.nc) now also works in parallel (mpi,omp,mixed).
- call to "iniaqua" is now done from within "iniphysiq" ; also added
some tests to check consistency between essential variables shared by
dynamics and physics (planetary radius, gravity, Cp, ...)
- simillarily adapted "phydev" routines, and added necessary routines to also
be able to generate startphy.nc/restartphy.nc files there. Also removed
common file "comcstphy.h" and replaced it with a module "comcstphy.F90"
EM

691 lines of code changed in 8 files:

  • trunk/libf/phydev: comcstphy.F90 (new 2), comcstphy.h (del), iniphysiq.F (+54 -58), iostart.F90 (new 502), phyaqua.F (+30 -15), phyredem.F (new 40), phys_state_var_mod.F90 (new 27), physiq.F90 (+36 -18)
emillour 2012-02-10 17:42 Rev.: 1615

Introducing "phydev", the minimal physics package.
makegcm and makelmdz_fcm script have been updated to add CPP_PHYS preprocessing key when building with physics and CPP_EARTH for Earth (LMD physics) related routines or instructions in the dynamics.
Checked (on Vargas) that "dev" physics package compiles and runs well in all (seq/mpi/omp/mpi_omp) modes and that introduced changes do not modify results when using the "lmd" physics package.
EM + FH

784 lines of code changed in 16 files:

  • trunk/libf/phydev: comcstphy.h (new 2), comgeomphy.F90 (new 2), dimphy.F90 (new 33), iniphysiq.F (new 114), init_phys_lmdz.F90 (new 2), iophy.F90 (new 465), mod_grid_phy_lmdz.F90 (new 2), mod_phys_lmdz_mpi_data.F90 (new 2), mod_phys_lmdz_mpi_transfert.F90 (new 2), mod_phys_lmdz_omp_data.F90 (new 2), mod_phys_lmdz_omp_transfert.F90 (new 2), mod_phys_lmdz_para.F90 (new 2), mod_phys_lmdz_transfert_para.F90 (new 2), phyaqua.F (new 26), physiq.F90 (new 124), tetalevel.F (new 2)
Generated by StatSVN 0.7.0