Directory trunk/libf/dynphy_lonlat/phylmd/

Total Files:
8
Deleted Files:
0
Lines of Code:
2556

[root]/trunk/libf/dynphy_lonlat/phylmd

Lines of Code

trunk/libf/dynphy_lonlat/phylmd/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 58 (100.0%) 558 (100.0%) 9.6
dcugnet 12 (20.7%) 286 (51.3%) 23.8
emillour 28 (48.3%) 168 (30.1%) 6.0
fhourdin 1 (1.7%) 56 (10.0%) 56.0
jghattas 1 (1.7%) 22 (3.9%) 22.0
lguez 4 (6.9%) 10 (1.8%) 2.5
acozic 8 (13.8%) 7 (1.3%) 0.8
oboucher 3 (5.2%) 5 (0.9%) 1.6
fairhead 1 (1.7%) 4 (0.7%) 4.0

Most Recent Commits

emillour 2017-10-03 08:18 Rev.: 3002

Improved slab routines.
FC

1 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: iniphysiq_mod.F90 (+1 -1)
dcugnet 2017-07-13 18:43 Rev.: 2947

* The "units" attribute of SST variable is now checked to allow celcius
degrees to kelvins conversion if required.
* Few cosmetic changes for output text file to make it more readable (and
help to detect if ce0l has really done what was expected).

45 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (+45 -25)
dcugnet 2017-07-11 17:42 Rev.: 2942

Remove test on sea ice concentration.

The aim of the test was to detect if a sea ice concentration field supposedly in
percents (holding the attribute "units" as correct) was in fact in area fraction.
But in some cases, all the fractions can be lower than one on the globe for
particular months, even if the field is really in percents.

2 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (+2 -2)
acozic 2017-07-11 16:15 Rev.: 2941

when we make a simulation with inca, we do not want to make a test on ozone for the ce0l

2 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0dyn_netcdf.F90 (+2)
lguez 2017-06-01 17:32 Rev.: 2899

startphy.nc created by ce0l and lmdz1d was not reproducible because
ql_ancien, qs_ancien, prlw_ancien, prsw_ancien, prw_ancien were not
defined before the call to phyredem.

7 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0phys_netcdf.F90 (+7 -1)
dcugnet 2017-05-24 16:02 Rev.: 2893

Change for limit files (ce0l:limit_netcdf.F90): daily records are interpolated
at 12h (no longer 0h), so that the 0h-24h mean value is used the whole day.

2 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (+2 -2)
dcugnet 2017-05-23 15:49 Rev.: 2889

Change of behaviour for ce0l:
* The time interpolation of AMIP mid-month boundary conditions datasets
(corresponding ce0l standard files/variables names: "amipbc_sst_1x1.bnc/tosbcs",
"amipbc_sic_1x1.nc/sicbcs") is no longer using splines, but is now linear.
See https://pcmdi.llnl.gov/mips/amip/details
* New ce0l standard files/variables names "amib_sst_1x1.nc/sst", "amip_sic_1x1.nc/sic"
are introduced to allow splines time interpolation with monthly mean observations
if needed (not adviced).
Note that splines time interpolation is still used for other fields "BILS", "ALB", "RUG"
and other cases ("amip_sst_1x1.nc" "cpl_atm_sst.nc" "histmth_sst.nc" "sstk.nc" for SST).

56 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (+56 -17)
jghattas 2017-02-24 16:40 Rev.: 2798

Add option no_ter_antartique that will remove all land fractions souther than 60deg south. This option is only used by ce0l.

22 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: init_ssrf_m.F90 (+22)
dcugnet 2017-02-02 20:01 Rev.: 2788

Changes in ce0l about the way ozone forcing files are generated:

1) 3D raw input files "climoz.nc" are now handled.
2) Default behaviour is now to let the gcm interpolate in time online.
This helps to avoid huge forcing files (in particular for 3D fields).
In this case, the output files "climoz_LMDZ.nc" all have 14 records:
* records 2-13 are obtained with records 1-12 of "climoz.nc".
* records 1 and 14 are obtained respectively with:
- record 12 of "climoz_m.nc" if available, of "climoz.nc" otherwise.
- record 1 of "climoz_p.nc" if available, of "climoz.nc" otherwise.
3) If ok_daily_climoz key is TRUE, the time interpolation (one record
a day) is forced, using the 14 records described below.
This now depends on the calendar (it was on a 360 days basis only).

Changes in the gcm about the way zone forcing files are read/interpolated:

1) 3D horizontally interpolated "climoz_LMDZ.nc" files are now handled.
2) Daily files (already interpolated in time) are still handled, but their
number of records must match the expected number of days, that depends
on the calendar (records step is no longer 1/360 year).
3) 14 records monthly files are now handled (and prefered). This reduces
the I/O to a minimum and the aditional computational cost is low (simple
online linear time interpolation).
4) If adjust_tropopause key is TRUE, the input fields are stretched using
following method:
* LMDZ dynamical tropopause is detected:
Ptrop_lmdz = MAX ( P(Potential Vorticity==2PVU), P(theta==380K) )
* file chemical tropopause is detected:
Ptrop_file = P( tro3 == o3t ), where:
o3t = 91. + 28. * SIN(PI*(month-2)/6) (ppbV)
This formula comes from Thouret & al., ACP 6, 1033-1051, 2006.
The second term of the expression is multiplied by TANH(lat_deg/20.)
to account for latitude dependency.
* File profile is streched in a +/- 5kms zone around the mean tropopause
to ensure resulting tropopause matches the one of LMDZ.
See procedure regr_pr_time_av for more details.


3 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0phys_netcdf.F90 (+3 -3)
emillour 2017-01-30 12:24 Rev.: 2786

Further convergence with planetary models:
- move vertical_layers_mod.F90 to phy_common and call init_vertical_layers in inigeomphy_mod
- add aps and bps (mid-layer coordinates) to vertical_layers_mod.F90
- same adaptations for the 1D case
EM

0 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: iniphysiq_mod.F90 (-5)
fairhead 2017-01-26 15:14 Rev.: 2775

Test to avoid considering concentration of seaice as percentages
LF

4 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (+4 -2)
dcugnet 2017-01-19 17:56 Rev.: 2766

* Fix limit_netcdf to handle correctly files with sea ice concentration
in fractions and not percents. CMIP6 official files have "units"
attribute equal to "1.0" with a null end character.
* Extraction of few calendar-related functions in cal_tools_m.F90.

39 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (+39 -103)
oboucher 2017-01-03 00:24 Rev.: 2738

Swapping the order of CSSO4 and ASSO4 aerosols (and fixing an issue on aerindex). Preparing the ground for nitrate aerosols (coarse soluble, accumulation soluble, coarse insoluble). Modifying the LW aeropt routine so that it is compatible with both INCA and climatological aerosols (for dust only). Adding a new flag ok_alw for activating aerosol direct LW effect (for dust only). This change is bit comparable for flag_aerosol=6, flag_rrtm=1, NSW=6.

2 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0phys_netcdf.F90 (+2 -2)
lguez 2016-10-18 15:30 Rev.: 2673

start_time was never set by the program ce0l. So there was a NaN in
variable controle of start.nc. This led to an error in gcm, in debug
mode, at line 274:

IF (start_time /= starttime) then

when reading from this start file.

3 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0dyn_netcdf.F90 (+3 -2)
dcugnet 2016-10-12 14:53 Rev.: 2665

* A (re)startphy.nc file (standard name: "startphy0.nc") can be read by ce0l to
get land mask, so mask can be defined (in decreasing priority order) from:
1) "o2a.nc file" if this file is found
2) "startphy0.nc" if this file is found
3) "Relief.nc" otherwise
* Sub-cell scales parameters for orographic gravity waves can be read from file
"oro_params.nc" if the configuration key "read_orop" is TRUE.
The effect is to bypass the "grid_noro" routine in ce0l, so that any
pre-defined mask (from o2a.nc or startphy0.nc) is then overwritten.
* The gcm stops if the "limit.nc" records number differs from the current year
number of days. A warning is issued in case the gcm calendar does not match
the time axis attribute "calendar" (if available) from the "limit.nc" file.
This attribute is now added to the "limit.nc" time axis.
* Few simplifications in grid_noro
* Few parameters changes in acama_gwd and flott_gwd.
* Variable d_u can be saved in the outputs.

82 lines of code changed in 3 files:

  • trunk/libf/dynphy_lonlat/phylmd: ce0l.F90 (+39 -9), etat0phys_netcdf.F90 (+16 -3), limit_netcdf.F90 (+27 -2)
emillour 2016-10-10 10:57 Rev.: 2656

Making the slab work:
- added a slab_heat_transp_mod module for horizontal diffusion and Ekman transport
- added storage and output of relevent variables in phyredem, phyetat0, phy_output_ctrlout_mod, phys_output_write_mod
- moved nslay (number of slab layers) out of dimphy into ocean_slab_mod.
FC

34 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: iniphysiq_mod.F90 (+34 -13)
oboucher 2016-10-02 18:55 Rev.: 2644

I introduced flag_bc_internal_mixture for BC/sulphate internal mixture.
Only works for iflag_rrtm=y, NSW=6 and flag_aerosol=6 or aerosol_couple.
It has no impact at the moment as LUT for aerosol properties will have to
be changed. But the plumbing work is already done....

2 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0phys_netcdf.F90 (+2 -1)
acozic 2016-08-01 14:54 Rev.: 2610

modification to allow compilation with INCA

1 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: iniphysiq_mod.F90 (+1 -1)
acozic 2016-08-01 11:09 Rev.: 2609

change the way to transfer the value of config_inca parameter to INCA model

3 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: iniphysiq_mod.F90 (+3 -2)
acozic 2016-08-01 11:04 Rev.: 2608

need nbp_lon,nbp_lat,nbp_lev to compile with INCA model

1 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: iniphysiq_mod.F90 (+1 -1)
emillour 2016-07-26 17:37 Rev.: 2604

Add Exner function to the call_physiq arguments (not used by the Earth physics) to harmonize physics/dynamics interface.
EM

2 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: callphysiq_mod.F90 (+2 -1)
emillour 2016-07-25 11:31 Rev.: 2603

Cleanup in the dynamics: turn logic.h into module logic_mod.F90
EM

2 lines of code changed in 2 files:

  • trunk/libf/dynphy_lonlat/phylmd: ce0l.F90 (+1 -1), limit_netcdf.F90 (+1 -2)
emillour 2016-07-24 11:51 Rev.: 2601

Cleanup in the dynamics: turn temps.h into module temps_mod.F90
EM

10 lines of code changed in 4 files:

  • trunk/libf/dynphy_lonlat/phylmd: ce0l.F90 (+1 -1), etat0dyn_netcdf.F90 (+2 -1), etat0phys_netcdf.F90 (-1), iniphysiq_mod.F90 (+7 -3)
emillour 2016-07-23 07:45 Rev.: 2600

Cleanup in the dynamics: turn comvert.h into module comvert_mod.F90
EM

3 lines of code changed in 3 files:

  • trunk/libf/dynphy_lonlat/phylmd: ce0l.F90 (+1 -1), etat0dyn_netcdf.F90 (+1 -1), iniphysiq_mod.F90 (+1 -1)
emillour 2016-07-22 11:28 Rev.: 2598

Cleanup in the dynamics: turn serre.h into module serre_mod.F90
EM

0 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0dyn_netcdf.F90 (-1)
emillour 2016-07-22 08:44 Rev.: 2597

Cleanup in the dynamics: get rid of comconst.h, make it a module comconst_mod.
EM

7 lines of code changed in 10 files:

  • trunk/libf/dynphy_lonlat/phylmd: ce0l.F90 (+2 -1), etat0dyn_netcdf.F90 (new), etat0phys_netcdf.F90 (+1 -1), iniphysiq_mod.F90 (-1), init_ssrf_m.F90 (+1 -1), limit_netcdf.F90 (+1 -1), test_disvert_m.F90 (new)
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

11 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: iniphysiq_mod.F90 (+11 -175)
dcugnet 2016-06-20 19:29 Rev.: 2576

Use "traditional" sst/sic files without additional records from contiguous years,
but check for previous and next files. Example for Amip Sea Surface Temperature:
* amipbc_sst_1x1.nc must be present.
* if amipbc_sst_1x1_m.nc is present (previous year), its last record is used
for interpolation ; otherwise, the last record of amipbc_sst_1x1.nc is used.
* if amipbc_sst_1x1_p.nc is present (next year), its first record is used
for interpolation ; otherwise, the first record of amipbc_sst_1x1.nc is used.
If both contiguous fiels are missing, the interpolation then implies periodicity.
Note: grid_noro0 has been moved from limit_netcd to grid_noro_m where it belongs.

57 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (+57 -160)
dcugnet 2016-06-03 20:02 Rev.: 2540

Improved time interpolation for "limit.nc" files, depending on the number
of records found in the input SST/SIC files:
* 14 records => for interannual runs.
Record nr. 1 contains the december field of the previous year.
Record nr. 14 contains the january field of the next year.
* 12 records => for climatic runs.
Records 1 and 14 are duplicated from records 13 and 2.
* as much records as need by the LMDZ calendar for the considered year
=> no time interpolation at all (typically: for guided runs with
SST and SIC known every day).
In the first case: typical SST daily increment is about 0.04K at 3 sigmas.
The gap between 2 years (last day of previous - first day of current year)
decreases from 1K at 3 sigmas (former method) to 0.25K (improved method).
Could be improved a bit by taking even more records (16 ?) and a lot by
interpolating the whole time serie together.

0 lines of code changed in 2 files:

  • trunk/libf/dynphy_lonlat/phylmd: limit_netcdf.F90 (new)
oboucher 2016-05-31 13:55 Rev.: 2531

Needed for rev2530.

1 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0phys_netcdf.F90 (+1 -1)
acozic 2016-03-03 18:14 Rev.: 2457

make some modification to allow ce0l to compile with INCA (and so add tracers in start.nc)

0 lines of code changed in 4 files:

  • trunk/libf/dynphy_lonlat/phylmd: ce0l.F90 (new), iniphysiq_mod.F90 (new)
fhourdin 2016-02-25 10:52 Rev.: 2453

Filtrage longitudinal du relief dans les hautes latitudes lors de la
creation de l'etat initial. Optionel (filtre_oro=y) et en test.
Optional filtering of the surface orography.

56 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: etat0phys_netcdf.F90 (+56 -4)
lguez 2016-01-26 19:36 Rev.: 2427

Fix bug from revision 2227.

0 lines of code changed in 2 files:

  • trunk/libf/dynphy_lonlat/phylmd: etat0phys_netcdf.F90 (new)
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

0 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: callphysiq_mod.F90 (-2)
emillour 2016-01-06 10:38 Rev.: 2421

Stop sending pducov from dynamics to physics; it is not used in the physics anymore (and what was done was only valid when runnning in serial).
EM

1 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: callphysiq_mod.F90 (+1 -2)
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

97 lines of code changed in 1 file:

  • trunk/libf/dynphy_lonlat/phylmd: callphysiq_mod.F90 (new 97)
Generated by StatSVN 0.7.0