IORG is a python module for calculating the Organization Index (Tompkins and Semie, 2017) as used in RCEMIP (Wing et al., 2020).
This code, updated February 1, 2025, fixes an error in iorg where theoretical CDFs do not extend to x=1 if the largest NND is too small. This caused underestimation of Iorg in some of the most organized scenes. This code also better handles cases with only a single large organized cluster,returning Iorg=nan in such cases rather than Iorg=0. The ability to output the theoretical and observed nearest-neighbor distributions has also been added.
The main function, calc_iorg(w_f,geometry,threshold=0,tbeg=-999,tend=-999,includeCDF=False)
, takes two mandatory arguments and has four optional arguments.
w_f
: a 3-D (time,y,x) array containing the convection datageometry
: a string determining which Iorg calculation to use which is geometry-dependentthreshold
(default=0): is an integer determining which convection variable is being used - 0 for olr, 1 for vertical velocitytbeg
(default=-999): integer determining the time index to start at, default is -999 which will use 25 days from the end of the datatend
(default=-999): integer determining the time index to end at, default is -999 which will go to the end of the time arrayincludeCDF
(default=False): if set to True, also returns the theoretical and observed nearest-neighbor CDFsimport IORG
# calculate Iorg starting from hour 1800 and ending at hour 2000 for a CRM using OLR
iorg = IORG.calc_iorg(olr,'cartesian',threshold=0,tbeg=1800,tend=2000)
# calculate Iorg starting from hour 1800 for a GCM using vertical velocity
iorg = IORG.calc_iorg(omega,'spherical',threshold=1,tbeg=1800)
Code Authors: Catherine Stauffer, Graham O'Donnell
Contact: Allison Wing (awing@fsu.edu)