wiki:DevelopmentActivities/ORCHIDEE-MICT-IMBALANCE-P

Version 35 (modified by ajornet, 8 years ago) (diff)

--

Branch ORCHIDEE-MICT-IMBALANCE-P

Welcome to ORCHIDEE-MICT branch wiki page.

Pages

Coding Guidelines

  1. Respect the general ORCHIDEE coding guidelines
  1. Every MICT developer uses a personal branch where s/he does his/her commits.
  1. Every new development is protected by a KEYWORD to allow easy testing with or without the new option.
  1. Modules run.def options should have a unique 3 characters KEYWORKD at the beginning of each one. It should make run.def options easier to identify. For example: module spitfire -> SPF. Its keyworks would be:
  • SPF_FIRE_DISABLE
  • SPF_ALLOW_DEFOREST_FIRE
  • SPF_LIGHTNING_FILE
  • SPF_GRAZING_MAP
  • ...
  1. The use of WHERE statement with min_stomate is a bad practice which leads to potential bugs. What if the value is negative? (value not allowed) In this case it would be ignored.
     !calculate mass weighted surface-area-to-volume ratio by fuel types.
     WHERE (dead_fuel(:).gt.min_stomate)
       sigma(:)=(fuel_1hr_total(:) * sigma_1hr + &
            fuel_10hr_total(:) * sigma_10hr + &
            fuel_100hr_total(:) * sigma_100hr) / dead_fuel(:)
     ELSEWHERE
       sigma(:)=0.00001 -> 10000
     ENDWHERE
  1. Do not used nested WHERE. For the moment there are some problems in some compilers.
   WHERE ()
      some code...
      WHERE ()   <--------- It might have some problems. Do not use
         some code...
      END WHERE
   END WHERE
  1. Make sure your module works under baresoil=1. It is set when there is a problem with the PFT interpolation. Maps missmatch, ...
  1. Interpolation: use the main subroutine found in src_global/aggregate. You have several examples in the code to see how to use it.
  1. All inputs/outputs must be ready for XIOS/IOIPSL.

Code Updates

ORCHIDEE-MICT-IMBALANCE-P will be update once a week in case there are new features/fix/... to add. In case you need such modifications you will have to apply them manually or wait for the update.

You can find the code here: https://forge.ipsl.jussieu.fr/orchidee/browser/branches/ORCHIDEE-MICT

2014/12/12 mail F. Maignan to orchidee-highlat@…

Dear MICT developers,

The IMBALANCE-P project will use the MICT branch as a starting point. We need to first clean the MICT branch, update it from the Trunk and include all MICT current developments that are not yet committed.

To do this, we're building a small "MICT merge" working group, now including Chao, Matthieu, Dan, Albert, Bertrand and myself (in close connection with Josefine). Feel free to join, we'll have weekly meetings on Tuesday at 11AM in building 701 door 7-B.

To build a clean code that can be useful to all of us, here are the first guidelines that we propose:

  • The "MICT merge" working group does regular updates from the Trunk towards the MICT branch.
  • All people developing the MICT branch use a personal branch where they do their commits, respecting the Coding guidelines (particularly code documentation and parameters externalization).
  • These personal commits are then incrementally committed in the MICT branch.
  • These commits are planned by the "MICT merge" working group, discussed with Josefine and tested on a global scale resolution 2 degrees with a

check on at least GPP and evapotranspiration. In case of a keyword, two tests with the option enabled then disabled are run.

  • Every MICT developer makes regular updates from the MICT branch towards its personal branch.
  • Tickets are used to report problems.
  • The MICT page of the wiki is used for reporting.
  • The orchidee-highlat@… mailing list is used to disseminate information.

Best regards,
Fabienne, in behalf of the "MICT merge" working group

FAQ

Which ORCHIDEE-MICT revision should I use?
It is recommended to use the latest "release" done. It considered more stable than the on-going developments. You can check it at Versions page.

Contact

For technical Issues (bugs, misleading documentation, ...)
albert.jornet-puig -arroba- lsce.ipsl.fr