This manual and tutorial demonstrates key elements of model development and application using the Object Modeling System.
All example modeling projects are available via Javaforge. In some cases a project is stored in CoLab-Subversion.
New: OMS 2.2 Execution API for headless execution and model runtime embedding (Only OMS 2.2!)
There are two main source trees required to checkout, one for building and one for deploying OMS. Both are related; the OMS deployment tree required the build tree to be checked out.
OMS | URL |
---|---|
Source Tree | https://colab.sc.egov.usda.gov/svn/oms/??? |
Deployment Tree | https://colab.sc.egov.usda.gov/svn/oms/??? |
It is recommended to check out the build and deployment tree as nb5 and nb-server so you end up having this kind of layout on your box:
+- ... +- nb5 | +- analysistool | +- libs | +- modelbuilder | +- omsbuild | +- test | +- fortransupport | +- mmstools | +- modelcore | +- omslibs | +- thornthwaite | +- nb5-server +- omsserver +- webdoc
You can set the root location of the nb5 source tree by editing the file build.properties in the omsserver folder. Note that the location of the checkout.dir folder has to be relative to the omsserver folder.
checkout.dir=../../nb5
$ cd nb5-server/omsserver $ ant -projecthelp Buildfile: build.xml Build the omsserver website, distribution, release the dist or single modules. Main targets: all clean and build site clean Cleans up the temporary dir. release-all deploys a list of modules and dist: ant -Ddist.version=2.0dev -Ddist.modules='analysistool modelbuilder' release-all release-clean Cleans up the release dir. release-dist deploys the distribution: ant -Ddist.version=2.0dev release-dist release-modules deploys a list of modules: ant -Ddist.version=2.0dev -Dmilestone.id=16234 -Ddist.modules='analysistool,modelbuilder' release-modules release-webdoc Release the whole web doc. site make the whole site, all modules, static webdoc, and distro Default target: all
For releasing individual modules the follwing Build arguments have to be used:
Modules
Module to release | Build argument to be used |
---|---|
org.omscentral.modules.analysistool | analysistool |
org.omscentral.modules.etcetera | omslibs/etcetera |
org.omscentral.modules.mmsio | omslibs/mmsio |
org.omscentral.modules.netcdf | omslibs/netcdf |
org.omscentral.modules.plot | omslibs/plot |
org.omscentral.modules.spreadsheet | omslibs/spreadsheet |
org.omscentral.modules.statistics | omslibs/statistics |
org.omscentral.modules.tableapi | omslibs/tableapi |
org.omscentral.modules.tableio | omslibs/tableio |
org.omscentral.modules.modelbuilder | modelbuilder |
org.omscentral.modules.modelcore | modelcore |
org.omscentral.modules.omsapi | modelcore/omsapi |
org.omscentral.modules.omscore | modelcore/omscore |
org.omscentral.modules.projects | modelcore/projects |
org.omscentral.modules.omsui | omsbuild/omsui |
org.omscentral.modules.upgrader | omsbuild/upgrader |
org.omscentral.modules.gcc | gcc |
Here are the steps to be performed releasing a set of modules for testing/deployment:
ant -Ddist.version=2.0dev -Ddist.modules="modelcore/projects,modelcore,modelbuilder,omsbuild/omsui" -Dmilestone.id=12345 release-modules \\
\\ dist.version = 2.0 \\ dist.host = http://oms.ars.usda.gov/ \\
\\ $make sync \\
Provide the distribution version property for the release-dist target. No web-site documentation is being generated, no module catalog either.
$ ant -Ddist.version=2.0dev release-dist
Sync it up again with the web server
\\ $make sync \\