Difference between revisions of "How to track WRF Fire/SFIRE changes"

From openwfm
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
* https://github.com/openwfm/wrf-fire The original repository of WRF-Fire, later known as WRF-SFIRE
 
* https://github.com/openwfm/wrf-fire The original repository of WRF-Fire, later known as WRF-SFIRE
 
* https://github.com/wrf-model/WRF The official repository for the Weather Research and Forecasting (WRF) model.  
 
* https://github.com/wrf-model/WRF The official repository for the Weather Research and Forecasting (WRF) model.  
* https://github.com/openwfm/WRF-Fire-merge A fork of [https://github.com/wrf-model/WRF WRF] with commits from [https://github.com/openwfm/wrf-fire wrf-fire] added.
+
* https://github.com/openwfm/WRF-Fire-merge A fork of [https://github.com/wrf-model/WRF WRF] with master branch from [https://github.com/openwfm/wrf-fire wrf-fire] added.
 
** Branches [https://github.com/openwfm/WRF-Fire-merge/tree/master master] and  [https://github.com/openwfm/WRF-Fire-merge/tree/develop develop] branches track [https://github.com/wrf-model/WRF WRF] automatically  
 
** Branches [https://github.com/openwfm/WRF-Fire-merge/tree/master master] and  [https://github.com/openwfm/WRF-Fire-merge/tree/develop develop] branches track [https://github.com/wrf-model/WRF WRF] automatically  
 
** Branch [https://github.com/openwfm/WRF-Fire-merge/tree/wrf-fire-track/master wrf-fire-track/master] tracks https://github.com/openwfm/wrf-fire/tree/master automatically.
 
** Branch [https://github.com/openwfm/WRF-Fire-merge/tree/wrf-fire-track/master wrf-fire-track/master] tracks https://github.com/openwfm/wrf-fire/tree/master automatically.
 
** Branch [https://github.com/openwfm/WRF-Fire-merge/commit/3cdb542af7ce3eeaaab6dee2f2341a96557282fe wrf-fire-track/submitted-to-3.3] tag <tt>submitted-to-3.3</tt> is the last code submitted to WRF release (WRF 3.3 in 2011)
 
** Branch [https://github.com/openwfm/WRF-Fire-merge/commit/3cdb542af7ce3eeaaab6dee2f2341a96557282fe wrf-fire-track/submitted-to-3.3] tag <tt>submitted-to-3.3</tt> is the last code submitted to WRF release (WRF 3.3 in 2011)
 
** Branch [https://github.com/openwfm/WRF-Fire-merge/tree/master-track-fire-submitted-to-3.3 master-track-fire-submitted-to-3.3] is branch [https://github.com/openwfm/WRF-Fire-merge/tree/master master] with the fire model files replaced by those from [https://github.com/openwfm/WRF-Fire-merge/commit/3cdb542af7ce3eeaaab6dee2f2341a96557282fe wrf-fire-track/submitted-to-3.3], for comparison only - it will not compile. The branch has tags same as master with <tt>-fire-submitted-to-3.3</tt> added: <tt>release_v3.3-fire-submitted-to-3.3</tt> etc.
 
** Branch [https://github.com/openwfm/WRF-Fire-merge/tree/master-track-fire-submitted-to-3.3 master-track-fire-submitted-to-3.3] is branch [https://github.com/openwfm/WRF-Fire-merge/tree/master master] with the fire model files replaced by those from [https://github.com/openwfm/WRF-Fire-merge/commit/3cdb542af7ce3eeaaab6dee2f2341a96557282fe wrf-fire-track/submitted-to-3.3], for comparison only - it will not compile. The branch has tags same as master with <tt>-fire-submitted-to-3.3</tt> added: <tt>release_v3.3-fire-submitted-to-3.3</tt> etc.
 +
** Branch [https://github.com/openwfm/WRF-Fire-merge/tree/master-track-fire master-track-fire] is branch [https://github.com/openwfm/WRF-Fire-merge/tree/wrf-fire-track/master wrf-fire-track/master], for comparison only - it will not compile.
 +
** See also [https://repo.or.cz/git-browser/by-commit.html?r=WRF-Fire-merge.git graphic mirror]
  
==Evolution to v3.3==
+
==Examining differences by GitHub comparison view==
* In [https://github.com/openwfm/wrf-fire wrf-fire], imported to [https://github.com/openwfm/WRF-Fire-merge WRF-Fire-merge] as wrf-fire-track/:
+
Compare fire files in release 4.0.2 with fire files submitted to 3.3:
** {{wrf-fire-commit|3cdb542af7ce|baseline submitted-to-WRF3.3}} at {{WRF-Fire-merge-branch|wrf-fire-track/submitted-to-WRF3.3}}
 
** {{wrf-fire-commit|b96422421958|bug fix submitted Jan 17, 2011 bug fix}} on {{WRF-Fire-merge-branch|wrf-fire-track/master}}
 
** {{wrf-fire-commit|fa26d08d8154|WRF-Fire submitted Nov 20, 2010}} on {{WRF-Fire-merge-branch|wrf-fire-track/master}}
 
* In [https://github.com/wrf-model/WRF WRF], forked as [https://github.com/openwfm/WRF-Fire-merge WRF-Fire-merge]:
 
** {{wrf-commit|26d8a8f91cad4|Thu Apr 7 01:04:41 2011 release_v3.3}}
 
** {{wrf-commit|6c774c6b4a003|Tue Apr 5 19:09:11 2011 M test/em_real/namelist.input.fire}}
 
** {{wrf-commit|e5dff9281add0|Sat Mar 19 00:28:08 2011 Rename two of the directories in the em_fire/examples by pulling them up a dir (two_fires and hill_simple). Zap the rest of the examples.}}
 
** {{wrf-commit|cf956e39c282b|Fri Mar 4 20:21:24 2011 Oops, part of the WRF Fire commit. Remove unnecessary *stub files, and add a couple of simple idealized test cases.}}
 
** {{wrf-commit|54a1084c962ec|Fri Mar 4 19:14:01 2011 Mods to the fire routines before the release. Files from Janice Coen and Jonathan Beezley.}} See [[Fire_code_in_WRF_release#WRF_3.3]]
 
** {{wrf-commit|543305ebcf41e|Fri Jan 7 22:43:12 2011 Add in the usual "ONLY" clause for some wide open "USE" statements in the WRF Fire code.  The purpose is to allow the IBM xlf compiler to build the code without the ALIAS size error}} Note: also arch/configure_new.defaults for Darwin g95
 
** {{wrf-commit|cd867781f4849|Thu Dec 30 16:01:59 2010 Remainder of Jonathan Beezley's modifications to WRF Fire for the 3.3 release. }} Note: also number of other files outside of fire
 
** {{wrf-commit|7e5f6f29eb61f|Thu Dec 30 15:43:40 2010 The new em_fire directory has new example cases, and a cleaner top directory.}}
 
** {{wrf-commit|dd284b417b63a|Thu Dec 30 15:41:50 2010 Part of the WRF Fire mods - remove the old example directories}}
 
** {{wrf-commit|36e0c265298cb|Mon Mar 22 15:17:29 2010 ... Fire updates to allow restarts.. remove the wrong namelist.input and sounding for ideal}}
 
** {{wrf-commit|7a777f52bacda|Fri Feb 19 19:48:20 2010 Add ROS subgrid variable to the "state:..." clause in package declaration. ... This fixes a situation where a 2D field with zero length dimensions was being written to WRF I/O API.  The dimensions were zero length because ROS is a subgrid-dimensioned variable but the subgrid dimensions are zero unless fire is turned on... Also including a fix for netcdf and parallel NetCDF implementations of I/O API so that they handle this situation correctly}}
 
** {{wrf-commit|bbf025b7b2afd|Fri Jan 15 18:37:52 2010 +0000 Updates to the WRF Fire code, provided by Jonathan Beezely, Jan Mandel, and Janice Coen.  This version includes modifications by John Michalakes to permit subgrid history, conforming to WRF best practices.}}
 
** {{wrf-commit|fad45920a0cfa|Wed Dec 30 22:44:06 2009 comment out registry,fire and registry.les for current WRFDA registry to decrease memory usage}}
 
** {{wrf-commit|da0ab56d04393|phase-I of the new I/O capability to allow an arbitrarily large number of input and output streams and to support run-time specification of I/O streams and variable-sets.}}
 
** {{wrf-commit|7cb334f5eddca|add 2 variables, pole_lat and pole_lon ... M    dyn_em/module_initialize_fire.F}}
 
** {{wrf-commit|0a21a18224dab|Fri Jun 5 22:15:22 2009 Modified build for fire code in phys directory so it doesn't rebuild parts of itself every time  .. phys/commit_hash (removed)}}
 
** {{wrf-commit|f20f927c682bd|Tue Apr 7 16:40:10 2009 6 files added to allow fire code to not be released}}
 
** {{wrf-commit|79c991261422e|Wed Mar 11 14:19:24 2009 remove unnecessary USE module_dm in WRF Fire code, fixes the associated "ALIASING" error with xlf }}
 
  
==Looking at differences==
+
https://github.com/openwfm/WRF-Fire-merge/compare/v4.0.2...openwfm:v4.0.2-fire-submitted-to-3.3?diff=split
 +
 
 +
Compare fire files in 4.0.3 and copied from recent wrf-fire {{wrf-fire-merge-commit|452ba93376d|Jan 9 2019}}:
 +
 
 +
https://github.com/openwfm/WRF-Fire-merge/compare/release-v4.0.3...openwfm:v4.0.3-track-fire?diff=split
 +
 
 +
==Examining and merging differences locally==
 +
===Setup===
 
Clone 3 copies of the repository and position them at the desired commits:
 
Clone 3 copies of the repository and position them at the desired commits:
 
<pre>
 
<pre>
 
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-develop
 
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-develop
cd WRF-Fire-merge-develop
 
git checkout develop; cd ..
 
 
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-wrf-fire-track-master
 
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-wrf-fire-track-master
 +
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-baseline
 
cd WRF-Fire-merge-wrf-fire-track-master
 
cd WRF-Fire-merge-wrf-fire-track-master
 
git checkout wrf-fire-track/master; cd ..
 
git checkout wrf-fire-track/master; cd ..
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-baseline
+
cd WRF-Fire-merge-develop
 +
git checkout develop; cd ..
 
cd WRF-Fire-merge-baseline
 
cd WRF-Fire-merge-baseline
git checkout wrf-fire-track/submitted-to-WRF3.3; cd ..
+
git checkout wrf-fire-track/submitted-to-3.3; cd ..
 
</pre>
 
</pre>
Changes at NCAR to date:
+
===Running Opendiff===
 +
Merge differences from old file to new; the merge window on the bottom is initialized by the content of the second file (on the right) and it can be edited and saved:
 +
<pre>
 +
opendiff WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-develop/phys/module_fr_fire_phys.F
 +
</pre>
 +
With a common ancestor, which will distinguish changes better and reduce hand-editing:
 +
<pre>
 +
f=phys; opendiff WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_$f.F WRF-Fire-merge-develop/phys/module_fr_fire_$f.F  -ancestor WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_$f.F
 +
</pre>
 +
etc.
 +
 
 +
To see changes at NCAR to date:
 
<pre>opendiff WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-develop/phys/module_fr_fire_phys.F
 
<pre>opendiff WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-develop/phys/module_fr_fire_phys.F
 
</pre>
 
</pre>
Changes in wrf-fire to date:
+
See changes in wrf-fire to date:
 
<pre>
 
<pre>
 
opendiff WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_phys.F
 
opendiff WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_phys.F
 
</pre>
 
</pre>
Three-way comparison:
+
Etc. for the other files.
<pre>
 
opendiff WRF-Fire-merge-develop/phys/module_fr_fire_phys.F  WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_phys.F -ancestor WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_phys.F
 
</pre>
 
 
 
==External links==
 
  
 
==See also==
 
==See also==
 +
* [[Tracking WRF Fire/SFIRE changes]]
 +
* [[List of WRF-Fire commits]]
 
* [[How to set up WRF-Fire-merge tracking branches]]
 
* [[How to set up WRF-Fire-merge tracking branches]]
 
* [[Fire code in WRF release]]
 
* [[Fire code in WRF release]]
 
* [[WRF-SFIRE user guide]]
 
* [[WRF-SFIRE user guide]]
 
* [[WRF-SFIRE fuel moisture model commits]]
 
* [[WRF-SFIRE fuel moisture model commits]]

Latest revision as of 07:54, 22 January 2019

Repositories and branches

Examining differences by GitHub comparison view

Compare fire files in release 4.0.2 with fire files submitted to 3.3:

https://github.com/openwfm/WRF-Fire-merge/compare/v4.0.2...openwfm:v4.0.2-fire-submitted-to-3.3?diff=split

Compare fire files in 4.0.3 and copied from recent wrf-fire 452ba93376d Jan 9 2019:

https://github.com/openwfm/WRF-Fire-merge/compare/release-v4.0.3...openwfm:v4.0.3-track-fire?diff=split

Examining and merging differences locally

Setup

Clone 3 copies of the repository and position them at the desired commits:

git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-develop
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-wrf-fire-track-master
git clone ssh://git@github.com/openwfm/WRF-Fire-merge.git WRF-Fire-merge-baseline
cd WRF-Fire-merge-wrf-fire-track-master
git checkout wrf-fire-track/master; cd ..
cd WRF-Fire-merge-develop
git checkout develop; cd ..
cd WRF-Fire-merge-baseline
git checkout wrf-fire-track/submitted-to-3.3; cd ..

Running Opendiff

Merge differences from old file to new; the merge window on the bottom is initialized by the content of the second file (on the right) and it can be edited and saved:

opendiff WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-develop/phys/module_fr_fire_phys.F

With a common ancestor, which will distinguish changes better and reduce hand-editing:

f=phys; opendiff WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_$f.F WRF-Fire-merge-develop/phys/module_fr_fire_$f.F  -ancestor WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_$f.F

etc.

To see changes at NCAR to date:

opendiff WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-develop/phys/module_fr_fire_phys.F

See changes in wrf-fire to date:

opendiff WRF-Fire-merge-baseline/wrfv2_fire/phys/module_fr_sfire_phys.F WRF-Fire-merge-wrf-fire-track-master/wrfv2_fire/phys/module_fr_sfire_phys.F

Etc. for the other files.

See also