SIMPLACE Experiments folder structure

Top  Previous  Next

Until now the user simulations (solutions, projects, data) where in the project lap, inside the subfolder test. In order to separate the simulation runs from modules we created a new project simplacerun.

 

You can still use your simulations from the project lap, but we strongly advise to migrate your simulations to the new project.

 

Advantages:

 

Programming code and Simulations are now in different projects

You can commit/update your solutions to the repository, without interfering with changes made in the models

Your data is better organized: instead of solutions/yourname, project/yourname, data/yourname you will keep it together in the directory yourname with the subdirectories solution, data, project.

 

Project structure

 

src->net->simplace->

 runs->yourname - here you keep your UnitTests, if you start your simulations as unit tests rather than by the GUI

 modules->yourname - here you should keep copies of simcomponents you modified or new components you created

simulation -

 yourname

         data - put here your weather, parameters etc.

         misc - all the stuff, that is not directly used by your simulation like documentation, scripts for data processing etc.

         project - your projects (.proj.xml)

         solution - your solutions (.sol.xml)

output

 yourname - outputs of your simulation

 

You are free to organize the data inside the yourname directories to your requirements, but it is advised to keep data, solutions, projects and miscellanea in own subdirectories.

 

If you have a lot of different simulations you can use subdirectories

 

simulation

 yourname

         agmip

                 data

                 misc

                 project

                 solution

         wascal

                 data

                 misc

                 project

                 solution

 

or in this way

 

simulation

 yourname

         data

                 agmip

                 wascal

         misc

                 agmip

                 wascal

         project

                 agmip

                 wascal

         solution

                 agmip

                 wascal

 

What about the outputs?

 

As the outputs may produce a high amount of data, and as they can be reproduced (at least they should be reproduceable!), normally they shouldn't be stored in the versioning system. Keeping them inside a special folder output, which is excluded from the version control, makes it easier to commit your input data and solutions to the SVN.

 

Which folders should I commit?

 

src->net->simplace->

 runs->yourname

 modules->yourname

simulation -

 yourname

 

Never commit any files or (sub)folders from the folder output! Don't commit any files or (sub)folders from another user's directory unless the user agrees.

 

How to migrate existing solutions to the new project?

 

1.Please check out a new project named simplacerun from the repository simplacemod /trunk/simplacerun/

2.Make an update on lapclient, if you use the GUI, as lapclient needs a reference to simplacerun in order to find the simulations

3.If they don't exist yet, make a folder inside simulation/ with your name and the subfolders as indicated above.

4.Copy your solutions .sol.xml files to simplacerun/simulation/yourname/solution (or to some subfolder, if you have special folders for each simulation)

5.Copy all the data, that is referenced in the interface section of your solutions to simplacerun/simulation/yourname/data

6.Copy your projects .proj.xml files to simplacerun/simulation/yourname/project

7.Go to your solution and project files and adapt path and filenames to the new locations, e.g.

 for input files: <filename>anja/Anja_GecrosControl.xml</filename> to <filename>anja/data/Anja_GecrosControl.xml</filename>

 and for output files: <filename>output/Anja_gecros_sumyieldout.csv</filename> to <filename>output/anja/Anja_gecros_sumyieldout.csv</filename>

8.If you use unit tests: Copy in the package explorer (not in the Navigator view!) your test file to simplacerun/src/net/simplace/runs/yourname

9.Go to the unit test and change the path for your solution and project, e.g.:

 FWSimEngine.runProject(null, "anja/AnjaTestLintulSlim.sol.xml"); to FWSimEngine.runProject(null, "anja/solution/AnjaTestLintulSlim.sol.xml");

 

NOTE: For data and solution files, the system takes by default the path relative to simplacerun/simulation, for output files the system takes the path relative to simplacerun/. See WorkingDirectory how to make your solution independent from the location of your files.