Comments (8)
This is great, thank you. There are two sorts of overwriting here, though.
There's the ~/cylc-src/NAME location, which is the workflow template checkout.
If that location exists, what does overwrite do? It seems a little destructive to do a "rm -rf" on the user's behalf. You could also consider renaming it instead to ~/cylc-src/NAME.old.blah, where blah might be some timestamp. (Bronx fremake renames the old directory as opposed to deleting it when --force-checkout
is used).
Then there's the ~/cylc-run/NAME location, which is the installed workflow.
If that location exists, then yes, I think a cylc clean NAME
on the users's behalf is what is needed.
from fre-cli.
from fre-cli.
I second this proposal with two options. I think the erase/overwrite option should definitely be implemented, but I'm wondering if we give users the ability to simply just rename the old one (how --force-checkout in Bronx works right now), that users might use this command more than once and it would then have the same issue again where the pre-determined 'old experiment run' name would now have the 'already exists' error message. Do we want to allow them to move/rename multiple older experiment runs of the same name? This would be done with a counter of some sort, or else it would probably be better to not give them this option at all. Thoughts?
from fre-cli.
It's a little confusing to have the "workflow definition" configuration in ~/cylc-src/NAME and the "installed workflow" in ~/cylc-run/NAME, but we need to help make this as understandable as possible.
We could start with no extra options, but try to document the usages anyway. i.e.
If ~/cylc-src/NAME exists, the message could be:
"The workflow definition specified by -e/-p/-t already exists at the location ~/cylc-src/NAME. If you would like to recheck-out a fresh workflow definition, move or remove the ~/cylc-src/NAME location, and run this command again."
from fre-cli.
from fre-cli.
from fre-cli.
How does Bronx deal with this right now? Does this ever happen? @ceblanton
from fre-cli.
As of March 8, chat with @ceblanton we seem to have the following consensus:
- No auto-removal/auto-moving of experiments from the fre pp checkout; instead making a separate tool (fre pp stop) that stops all running processes associated with an experiment and cleans up any directories generated from ~/cylc-run.
- Bronx currently deals with this in the fre run step, where you have the option to --overwrite or be --unique.
- For now, we're trying to stop the process if there's an experiment that has the same name and ask the user to either change the configuration or run fre pp stop themselves. No effort to implement a move yet, and we're not trying to remove output files from the postprocessing since they'll be overwritten.
from fre-cli.
Related Issues (20)
- Absorb fre-workflows/app/split-netcdf-python --> fre pp split #132
- Absorb fre-workflows/app/remap-pp-components --> fre pp remap... or fre cmor <subtool> ?
- add tests for checking out workflow definitions HOT 3
- Fremake yaml integration HOT 1
- Add tests for `fre make` tools
- rename `wrapper` calls/scripts HOT 6
- FRE-CLI Tools README documentation HOT 2
- fre catalog build requires API update HOT 5
- Update AM5 yamls for fre make
- Handle Multiple Compile Experiments (fre make functionality)
- Fix Catalog Build Command
- Run Bronx in Canopy HOT 1
- Create Code of Conduct
- fre catalog builder --slow option
- Add value validation to fre catalog validate
- Create a `combine-yaml` tool
- Yaml_load overwrites previous experiment yamls when multiple experiment yamls are listed in the pp section of the main yaml
- `fre cmor run` pytest case HOT 2
- `fre cmor run`: desired tweaks
- Update schema.json file for validation for combined-[experiment].yaml
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fre-cli.