wiki:DevelopmentActivities/ORCHIDEE-MICT-IMBALANCE-P

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

--

Branch ORCHIDEE-MICT-IMBALANCE-P

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

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.

Pages

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 Shushi, Tao, Bertrand and myself (in close connection with Josefine). Feel free to join, we'll have weekly meetings on Friday, 11AM.

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